freelance-deadlock-20040803
authorJeffrey Altman <jaltman@mit.edu>
Tue, 3 Aug 2004 20:40:31 +0000 (20:40 +0000)
committerJeffrey Altman <jaltman@secure-endpoints.com>
Tue, 3 Aug 2004 20:40:31 +0000 (20:40 +0000)
Avoid deadlock in Freelance mount point re-initialization

src/WINNT/afsd/cm_callback.c

index ddc9af0..09a756c 100644 (file)
@@ -650,7 +650,9 @@ int cm_HaveCallback(cm_scache_t *scp)
            } else if (fdc==2 && !fgc) {        // we're in good shape
                if (cm_getLocalMountPointChange()) {    // check for changes
                    cm_clearLocalMountPointChange(); // clear the changefile
+            lock_ReleaseMutex(scp->mx);      // this is re-locked in reInitLocalMountPoints
                    cm_reInitLocalMountPoints();        // start reinit
+            lock_ObtainMutex(scp->mx);      // now get the lock back 
                    return 0;
                }
                return 1;                       // no change