[mythtv-commits] Ticket #9972: backend, frontend segfault with /usr/lib64/libQtCore.so.4
MythTV
noreply at mythtv.org
Tue Aug 9 14:18:25 UTC 2011
#9972: backend, frontend segfault with /usr/lib64/libQtCore.so.4
-------------------------------------------------+-------------------------
Reporter: yianniv <yiannividalis@…> | Owner: danielk
Type: Bug Report - General | Status: closed
Priority: minor | Milestone: 0.25
Component: MythTV - General | Version: Trunk
Severity: medium | Head
Keywords: | Resolution: fixed
| Ticket locked: 0
-------------------------------------------------+-------------------------
Changes (by Github):
* status: assigned => closed
* resolution: => fixed
* milestone: unknown => 0.25
Comment:
Fixes #9972. Apply the construct on first use idiom to two previously
staticaly initialized threads.
C++ initializes statics in a strict order within a compilation unit, but
across compilation units the order is random.
This is a problem when you statically initialize an MThread because you
may initialize it before the static MThread
debugging variables are statically initialized. i.e. mythsocket.o or
logging.o may be initialized before mthread.o
It's possible to work around this using compiler attributes, but a cleaner
solution is to use the construct-on-first-use idiom as it will work
correctly on all systems.
This also adds a warning to the mthread.h doxygen doct to not to
statically initialize threads.
Branch: master
Changeset: f4ba7827e165672ed8c0c901b50243443f5f203d
--
Ticket URL: <http://code.mythtv.org/trac/ticket/9972#comment:6>
MythTV <http://code.mythtv.org/trac>
MythTV Media Center
More information about the mythtv-commits
mailing list