Revision 3262f04...

Go back to digest for 23rd September 2012

Bug 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