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. BUG: 295802 REVIEW: 105562
parent
2abe385e
Please register or sign in to comment