From d57f679ab96c1e775e7c57c17203b9ada91be1a1 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Tue, 9 May 2006 02:41:17 +0000 Subject: [PATCH] STABLE14-windows-smb-vcp-clean-20060508 don't grab the vcp mutex after releasing the vcp (cherry picked from commit 77fbc6a158a570f1816c87433c0e4c44c0fc8fce) --- src/WINNT/afsd/smb.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/WINNT/afsd/smb.c b/src/WINNT/afsd/smb.c index 81b781d8d0..b78b570e38 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); }