mirror of
https://git.openafs.org/openafs.git
synced 2025-02-01 05:57:43 +00:00
STABLE14-fix-multirx-checkservers-20050216
FIXES 17549 put results in an array. (cherry picked from commit ef85cb144dc433879cfd05d0fd3a380d7ce78098)
This commit is contained in:
parent
ed74ce6658
commit
49760555b3
@ -499,7 +499,6 @@ afs_CheckServers(int adown, struct cell *acellp)
|
|||||||
afs_int32 i, j;
|
afs_int32 i, j;
|
||||||
afs_int32 code;
|
afs_int32 code;
|
||||||
afs_int32 start, end = 0, delta;
|
afs_int32 start, end = 0, delta;
|
||||||
afs_int32 m_error;
|
|
||||||
osi_timeval_t tv;
|
osi_timeval_t tv;
|
||||||
struct unixuser *tu;
|
struct unixuser *tu;
|
||||||
char tbuffer[CVBS];
|
char tbuffer[CVBS];
|
||||||
@ -508,7 +507,7 @@ afs_CheckServers(int adown, struct cell *acellp)
|
|||||||
struct conn **conns;
|
struct conn **conns;
|
||||||
int nconns;
|
int nconns;
|
||||||
struct rx_connection **rxconns;
|
struct rx_connection **rxconns;
|
||||||
afs_int32 *conntimer, *deltas;
|
afs_int32 *conntimer, *deltas, *results;
|
||||||
|
|
||||||
AFS_STATCNT(afs_CheckServers);
|
AFS_STATCNT(afs_CheckServers);
|
||||||
|
|
||||||
@ -546,6 +545,7 @@ afs_CheckServers(int adown, struct cell *acellp)
|
|||||||
rxconns = (struct rx_connection **)afs_osi_Alloc(j * sizeof(struct rx_connection *));
|
rxconns = (struct rx_connection **)afs_osi_Alloc(j * sizeof(struct rx_connection *));
|
||||||
conntimer = (afs_int32 *)afs_osi_Alloc(j * sizeof (afs_int32));
|
conntimer = (afs_int32 *)afs_osi_Alloc(j * sizeof (afs_int32));
|
||||||
deltas = (afs_int32 *)afs_osi_Alloc(j * sizeof (afs_int32));
|
deltas = (afs_int32 *)afs_osi_Alloc(j * sizeof (afs_int32));
|
||||||
|
results = (afs_int32 *)afs_osi_Alloc(j * sizeof (afs_int32));
|
||||||
|
|
||||||
for (i = 0; i < j; i++) {
|
for (i = 0; i < j; i++) {
|
||||||
deltas[i] = 0;
|
deltas[i] = 0;
|
||||||
@ -606,7 +606,7 @@ afs_CheckServers(int adown, struct cell *acellp)
|
|||||||
if (conntimer[multi_i] == 0)
|
if (conntimer[multi_i] == 0)
|
||||||
rx_SetConnDeadTime(tc->id, afs_rx_deadtime);
|
rx_SetConnDeadTime(tc->id, afs_rx_deadtime);
|
||||||
end = osi_Time();
|
end = osi_Time();
|
||||||
m_error=multi_error;
|
results[multi_i]=multi_error;
|
||||||
if ((start == end) && !multi_error)
|
if ((start == end) && !multi_error)
|
||||||
deltas[multi_i] = end - tv.tv_sec;
|
deltas[multi_i] = end - tv.tv_sec;
|
||||||
|
|
||||||
@ -617,7 +617,7 @@ afs_CheckServers(int adown, struct cell *acellp)
|
|||||||
tc = conns[i];
|
tc = conns[i];
|
||||||
sa = tc->srvr;
|
sa = tc->srvr;
|
||||||
|
|
||||||
if (( m_error >= 0 ) && (sa->sa_flags & SRVADDR_ISDOWN) && (tc->srvr == sa)) {
|
if (( results[i] >= 0 ) && (sa->sa_flags & SRVADDR_ISDOWN) && (tc->srvr == sa)) {
|
||||||
/* server back up */
|
/* server back up */
|
||||||
print_internet_address("afs: file server ", sa, " is back up", 2);
|
print_internet_address("afs: file server ", sa, " is back up", 2);
|
||||||
|
|
||||||
@ -631,7 +631,7 @@ afs_CheckServers(int adown, struct cell *acellp)
|
|||||||
afs_osi_Wakeup(&afs_waitForever);
|
afs_osi_Wakeup(&afs_waitForever);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (m_error < 0) {
|
if (results[i] < 0) {
|
||||||
/* server crashed */
|
/* server crashed */
|
||||||
afs_ServerDown(sa);
|
afs_ServerDown(sa);
|
||||||
ForceNewConnections(sa); /* multi homed clients */
|
ForceNewConnections(sa); /* multi homed clients */
|
||||||
@ -713,6 +713,7 @@ afs_CheckServers(int adown, struct cell *acellp)
|
|||||||
afs_osi_Free(rxconns, j * sizeof(struct rx_connection *));
|
afs_osi_Free(rxconns, j * sizeof(struct rx_connection *));
|
||||||
afs_osi_Free(conntimer, j * sizeof(afs_int32));
|
afs_osi_Free(conntimer, j * sizeof(afs_int32));
|
||||||
afs_osi_Free(deltas, j * sizeof(afs_int32));
|
afs_osi_Free(deltas, j * sizeof(afs_int32));
|
||||||
|
afs_osi_Free(results, j * sizeof(afs_int32));
|
||||||
|
|
||||||
} /*afs_CheckServers*/
|
} /*afs_CheckServers*/
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user