diff --git a/src/WINNT/afsd/cm_server.c b/src/WINNT/afsd/cm_server.c index 7fedd97e8a..89f749518b 100644 --- a/src/WINNT/afsd/cm_server.c +++ b/src/WINNT/afsd/cm_server.c @@ -131,6 +131,7 @@ cm_PingServer(cm_server_t *tsp) cm_volume_t * volp; int i; + lock_ReleaseMutex(&tsp->mx); for (tsrvp = tsp->vols; tsrvp; tsrvp = tsrvp->nextp) { for (i=0; iids[i] != 0) { @@ -145,6 +146,7 @@ cm_PingServer(cm_server_t *tsp) } } } + lock_ObtainMutex(&tsp->mx); } } else { /* mark server as down */ @@ -163,6 +165,7 @@ cm_PingServer(cm_server_t *tsp) cm_volume_t * volp; int i; + lock_ReleaseMutex(&tsp->mx); for (tsrvp = tsp->vols; tsrvp; tsrvp = tsrvp->nextp) { for (i=0; iids[i] != 0) { @@ -177,6 +180,7 @@ cm_PingServer(cm_server_t *tsp) } } } + lock_ObtainMutex(&tsp->mx); } }