Revision 3262f04...
Go back to digest for 23rd September 2012Bug Fixes in KDE Base
David Faure committed changes in [nepomuk-core/KDE/4.9] /resource:
Fix race conditions in nepomuk's ResourceData.
So that no AB/BA deadlocks happen, the rule is that the RM mutex must never be
locked after the modificationMutex. It's either modification alone, or RM and then modification.
I had to move some code from RM to RD, because RM was using data->m_cache directly,
without locking data's mutex first!
This new code is not only more threadsafe (no helgrind warning anymore in my tests)
but also much better object-oriented, RM is no longer accessing RD's private data directly.
REVIEW: 105562
File Changes
Modified 3 files
- /resource
- libnepomukcoredata.cpp
- libnepomukcoredata.h
- libnepomukcoremanager.cpp
3 files changed in total