Discovered a deadlock due to a violation of lock order. We may not
attempt to obtain a lock on a cm_scache_t mutex while holding the
cm_aclLock.
+Since 1.3.85:
+ * Fixed a deadlock caused by the holder of cm_aclLock attempting to
+ obtain a mutex lock on a cm_scache_t object whose lock is held by
+ a thread attempting to obtain the cm_aclLock.
+
Since 1.3.84:
* Added a new registry key, "LogoffPreserveTokens" (see registry.txt),
that can be used to force the preservation of user tokens upon logout.
if (aclp->backp && scp != aclp->backp) {
ascp = aclp->backp;
+ lock_ReleaseWrite(&cm_aclLock);
lock_ObtainMutex(&ascp->mx);
+ lock_ObtainWrite(&cm_aclLock);
}
CleanupACLEnt(aclp);