From 5d61f37949fd561f4c9d777cc67c5fd3db835e29 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Wed, 6 Feb 2008 19:29:44 +0000 Subject: [PATCH] windows-multi-check-servers-20080206 LICENSE MIT do not leak references remove signed vs unsigned warnings retry all RXGEN_OPCODE responses regardless of whether or not the entry had to be moved to consolidate the list. --- src/WINNT/afsd/cm_server.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/WINNT/afsd/cm_server.c b/src/WINNT/afsd/cm_server.c index 7f23b78..c02f970 100644 --- a/src/WINNT/afsd/cm_server.c +++ b/src/WINNT/afsd/cm_server.c @@ -269,10 +269,9 @@ void cm_CheckServers(afs_uint32 flags, cm_cell_t *cellp) int srvAddrCount = 0; struct srvAddr **addrs = NULL; cm_conn_t **conns = NULL; - int nconns = 0; struct rx_connection **rxconns = NULL; cm_req_t req; - afs_uint32 i, j; + afs_int32 i, j, nconns = 0; afs_int32 *conntimer, *results; Capabilities *caps = NULL; cm_server_t ** serversp, *tsp; @@ -296,7 +295,9 @@ void cm_CheckServers(afs_uint32 flags, cm_cell_t *cellp) memset(caps, 0, j * sizeof(Capabilities)); - if (!(flags & CM_FLAG_CHECKVLDBSERVERS)) { + if ((flags & CM_FLAG_CHECKFILESERVERS) || + !(flags & (CM_FLAG_CHECKFILESERVERS|CM_FLAG_CHECKVLDBSERVERS))) + { lock_ObtainWrite(&cm_serverLock); nconns = 0; for (nconns=0, tsp = cm_allServersp; tsp; tsp = tsp->allNextp) { @@ -461,10 +462,12 @@ void cm_CheckServers(afs_uint32 flags, cm_cell_t *cellp) * that RXAFS_GetCapabilities is not supported. */ for ( i=0, j=0; iallNextp) { @@ -616,7 +621,8 @@ void cm_CheckServers(afs_uint32 flags, cm_cell_t *cellp) } lock_ObtainWrite(&cm_serverLock); rxconns[nconns] = cm_GetRxConn(conns[nconns]); - if (conntimer[nconns] = (isDown ? 1 : 0)) + conntimer[nconns] = (isDown ? 1 : 0); + if (isDown) rx_SetConnDeadTime(rxconns[nconns], 10); nconns++; @@ -634,10 +640,6 @@ void cm_CheckServers(afs_uint32 flags, cm_cell_t *cellp) /* Process results of servers that support RXAFS_GetCapabilities */ for (i=0; i