From: Jeffrey Altman Date: Tue, 9 May 2006 02:41:17 +0000 (+0000) Subject: STABLE14-windows-smb-vcp-clean-20060508 X-Git-Tag: openafs-stable-1_4_1b~6 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=d57f679ab96c1e775e7c57c17203b9ada91be1a1;p=packages%2Fo%2Fopenafs.git STABLE14-windows-smb-vcp-clean-20060508 don't grab the vcp mutex after releasing the vcp (cherry picked from commit 77fbc6a158a570f1816c87433c0e4c44c0fc8fce) --- diff --git a/src/WINNT/afsd/smb.c b/src/WINNT/afsd/smb.c index 81b781d8d..b78b570e3 100644 --- a/src/WINNT/afsd/smb.c +++ b/src/WINNT/afsd/smb.c @@ -1047,14 +1047,15 @@ void smb_CleanupDeadVC(smb_vc_t *vcp) uidpNext = vcp->usersp; } + lock_ObtainMutex(&vcp->mx); + vcp->flags &= ~SMB_VCFLAG_CLEAN_IN_PROGRESS; + lock_ReleaseMutex(&vcp->mx); + /* The vcp is now on the deadVCsp list. We intentionally drop the * reference so that the refcount can reach 0 and we can delete it */ smb_ReleaseVCNoLock(vcp); lock_ReleaseWrite(&smb_rctLock); - lock_ObtainMutex(&vcp->mx); - vcp->flags &= ~SMB_VCFLAG_CLEAN_IN_PROGRESS; - lock_ReleaseMutex(&vcp->mx); osi_Log1(smb_logp, "Finished cleaning up dead vcp 0x%x", vcp); }