From: Jeffrey Altman Date: Fri, 23 Jun 2006 04:37:57 +0000 (+0000) Subject: STABLE14-windows-cm_syncop-buflocked-20060622 X-Git-Tag: openafs-stable-1_4_2-beta2~26 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=bb5a4fa334753e7d4aeebf0e460b3f2f7c04efb6;p=packages%2Fo%2Fopenafs.git STABLE14-windows-cm_syncop-buflocked-20060622 If cm_SyncOp is called with the buffer locked, it must be returned locked even on error. (cherry picked from commit ae9a07a8e0a5d0e83e138ef9bbd71b3e7e0072ea) --- diff --git a/src/WINNT/afsd/cm_scache.c b/src/WINNT/afsd/cm_scache.c index 4a2735e0a..c43cfca65 100644 --- a/src/WINNT/afsd/cm_scache.c +++ b/src/WINNT/afsd/cm_scache.c @@ -940,13 +940,13 @@ long cm_SyncOp(cm_scache_t *scp, cm_buf_t *bufp, cm_user_t *up, cm_req_t *reqp, /* we don't know the required access rights */ if (bufLocked) lock_ReleaseMutex(&bufp->mx); code = cm_GetAccessRights(scp, up, reqp); - if (code) - return code; if (bufLocked) { lock_ReleaseMutex(&scp->mx); lock_ObtainMutex(&bufp->mx); lock_ObtainMutex(&scp->mx); } + if (code) + return code; continue; } }