when suspending only clear callbacks for servers that are in an up state.
if they were in a down state, then we couldn't send the clear callbacks
message but more importantly, we need to leave the callback info current
because the callbacks should not be cleared until the server is once again
reachable.
lock_ObtainWrite(&cm_scacheLock);
for ( scp = cm_data.allSCachesp; scp;
scp = scp->allNextp ) {
- if (scp->cbServerp) {
+ if (scp->cbServerp &&
+ !(scp->cbServerp->flags & CM_SERVERFLAG_DOWN)) {
cm_PutServer(scp->cbServerp);
scp->cbServerp = NULL;
}