From 162cb95707f739170ab4a025a801a430c86ae70a Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Wed, 30 Jan 2008 14:53:44 +0000 Subject: [PATCH] windows-ipaddr-change-server-deadlock-20080130 LICENSE MIT avoid a deadlock during server probes initiated by the ipaddr change daemon thread. (missed a case in DELTA windows-ipaddr-change-server-deadlock-20080106) --- src/WINNT/afsd/cm_server.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/WINNT/afsd/cm_server.c b/src/WINNT/afsd/cm_server.c index b7d0acc..a64cfed 100644 --- a/src/WINNT/afsd/cm_server.c +++ b/src/WINNT/afsd/cm_server.c @@ -171,8 +171,10 @@ cm_PingServer(cm_server_t *tsp) if (tsrvp->ids[i] != 0) { cm_InitReq(&req); + lock_ReleaseMutex(&tsp->mx); code = cm_GetVolumeByID(tsp->cellp, tsrvp->ids[i], cm_rootUserp, &req, CM_GETVOL_FLAG_NO_LRU_UPDATE, &volp); + lock_ObtainMutex(&tsp->mx); if (code == 0) { cm_UpdateVolumeStatus(volp, tsrvp->ids[i]); cm_PutVolume(volp); -- 1.9.4