[Digikam-devel] [Bug 165348] Problems when trying to import KDE3 data

Marcel Wiesweg marcel.wiesweg at gmx.de
Tue Jul 1 20:59:46 BST 2008


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=165348         




------- Additional Comments From marcel.wiesweg gmx de  2008-07-01 21:59 -------
SVN commit 826917 by mwiesweg:

Avoid deadlock:

Do not hold a mutex when emitting a blocking queued signal.
In this case, ensure that DatabaseAccess is released, at least temporarily.
Otherwise there will be a deadlock when emitting the synchronous signal to
retrieve Solid information, and the main thread is currently handling a signal
that wants to acquire DatabaseAccess.
Adds a class that unlocks the recursive mutex on creation, and reqacuires on destruction.
This should be used with care as it undermines assumptions that structures
cannot change while the lock is held. But you should not hold a mutex when calling
methods with side effect (we do this here in at least one situtation), so
I happily break assumptions (and there are no such assumptions currently).

Thanks to Thomas McGuire for providing backtraces.

CCBUG:165348


 M  +25 -16    collectionmanager.cpp  
 M  +69 -3     databaseaccess.cpp  
 M  +23 -0     databaseaccess.h  


WebSVN link: http://websvn.kde.org/?view=rev&revision=826917



More information about the Digikam-devel mailing list