[Dbus-cxx-devel] Uninitialized/destroyed mutexes/rwlocks
Status: Beta
Brought to you by:
rvinyard
From: Patrick A. <pa...@ph...> - 2009-09-11 19:27:42
|
Think I found the last bug that was causing occasional deadlocks in my code using dbus-cxx (turns out it wasn't just the unsent messages). Several of the pthread_cond/rwlock/mutexes used in dbus-cxx are never initialized (using pthread_*_init), in the object's constructor, and none of them are destroyed (using pthread_*_destroy). The uninitialized ones (in object.cpp and objectproxy.cpp) were causing the deadlocks when they got set up from non-zeroed memory, but the missing pthread_*_destroy isn't a good thing either. Patch attached which fixes all of that. Patrick |