From 0b2639ff4fd732dfac2c1dc058d6c517cc966737 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Fri, 16 Dec 2011 17:22:49 -0500 Subject: [PATCH] Windows: move to head of queue no-op if not in queue If the buffer is not in the queue, do nothing. Change-Id: Icdb95775bcc6d010ca1926ce4384d9edcd8f1cd3 Reviewed-on: http://gerrit.openafs.org/6351 Tested-by: BuildBot Reviewed-by: Jeffrey Altman Tested-by: Jeffrey Altman --- src/WINNT/afsd/cm_buf.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/WINNT/afsd/cm_buf.c b/src/WINNT/afsd/cm_buf.c index 142342d18..728327117 100644 --- a/src/WINNT/afsd/cm_buf.c +++ b/src/WINNT/afsd/cm_buf.c @@ -2629,6 +2629,9 @@ buf_RemoveFromRedirQueue(cm_scache_t *scp, cm_buf_t *bufp) { lock_AssertWrite(&buf_globalLock); + if (!(bufp->qFlags & CM_BUF_QREDIR)) + return; + lock_ObtainMutex(&scp->redirMx); _InterlockedAnd(&bufp->qFlags, ~CM_BUF_QREDIR); @@ -2650,8 +2653,8 @@ void buf_MoveToHeadOfRedirQueue(cm_scache_t *scp, cm_buf_t *bufp) { lock_AssertWrite(&buf_globalLock); - osi_assertx(bufp->qFlags & CM_BUF_QREDIR, - "buf_MoveToHeadOfRedirQueue buffer not held by redirector"); + if (!(bufp->qFlags & CM_BUF_QREDIR)) + return; lock_ObtainMutex(&scp->redirMx); -- 2.39.5