From 0222fceb6f49b9cf03b02ae4443c7f30fb69c658 Mon Sep 17 00:00:00 2001 From: Jeffrey Altman Date: Wed, 6 Feb 2008 19:31:09 +0000 Subject: [PATCH] DEVEL15-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. (cherry picked from commit 5d61f37949fd561f4c9d777cc67c5fd3db835e29) --- 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 655fe4487..20c621728 100644 --- a/src/WINNT/afsd/cm_server.c +++ b/src/WINNT/afsd/cm_server.c @@ -273,10 +273,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; @@ -300,7 +299,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) { @@ -465,10 +466,12 @@ void cm_CheckServers(afs_uint32 flags, cm_cell_t *cellp) * that RXAFS_GetCapabilities is not supported. */ for ( i=0, j=0; iallNextp) { @@ -620,7 +625,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++; @@ -638,10 +644,6 @@ void cm_CheckServers(afs_uint32 flags, cm_cell_t *cellp) /* Process results of servers that support RXAFS_GetCapabilities */ for (i=0; i