From 1d4bc784854e5980711e6cc72b06c7ab5f203e17 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Mon, 22 Aug 2011 09:00:47 -0400 Subject: [PATCH] Windows: avoid cm_serverLock refcount leak Reviewed-on: http://gerrit.openafs.org/5293 Reviewed-by: Derrick Brashear Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman (cherry picked from commit add66023a05bf9a380eef34bd4fcc80d343fffad) Change-Id: I021a7c77c5351914c9450bd7b28c2b6142f18567 Reviewed-on: http://gerrit.openafs.org/5295 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsd/cm_volume.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/WINNT/afsd/cm_volume.c b/src/WINNT/afsd/cm_volume.c index 187ba2be1..93aceea5b 100644 --- a/src/WINNT/afsd/cm_volume.c +++ b/src/WINNT/afsd/cm_volume.c @@ -1272,10 +1272,12 @@ cm_CheckOfflineVolumeState(cm_volume_t *volp, cm_vol_state_t *statep, afs_uint32 cm_VolumeStatusNotification(volp, statep->ID, statep->state, vl_alldown); statep->state = vl_alldown; } - } else if (statep->state != vl_alldown) { + } else { lock_ReleaseRead(&cm_serverLock); - cm_VolumeStatusNotification(volp, statep->ID, statep->state, vl_alldown); - statep->state = vl_alldown; + if (statep->state != vl_alldown) { + cm_VolumeStatusNotification(volp, statep->ID, statep->state, vl_alldown); + statep->state = vl_alldown; + } } } } -- 2.39.5