From ba6b7f6e21ac7c9bb69ddc5fd50f4f0c5016a31c Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Fri, 13 Jun 2003 00:27:27 +0000 Subject: [PATCH] set retry number to 4 when there is a beacon anomaly or when a channel disconnects. This starts the searcch delay at .4 seconds instead of at 0.25 seconds. --- src/ca/conn.c | 12 +++++++++--- src/ca/iocinf.c | 8 +++++++- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/src/ca/conn.c b/src/ca/conn.c index 844e60e18..f45ffda1f 100644 --- a/src/ca/conn.c +++ b/src/ca/conn.c @@ -40,6 +40,9 @@ /* */ /* * $Log$ + * Revision 1.43.4.4 2002/07/12 22:16:00 jba + * Updated license comments. + * * Revision 1.43.4.3 2001/03/06 00:10:03 jhill * fixed R3.13 for Linux's new socklen_t * @@ -674,10 +677,14 @@ void mark_server_available (const struct sockaddr_in *pnet_addr) * set retry count of all disconnected channels * to zero */ - cacSetRetryInterval(0u); + if ( ca_static->ca_search_retry > 4u ) { + cacSetRetryInterval(4u); + } chan = (ciu) ellFirst(&piiuCast->chidlist); while (chan) { - chan->retry = 0u; + if ( chan->retry > 4u ) { + chan->retry = 4u; + } chan = (ciu) ellNext (&chan->node); } @@ -1081,7 +1088,6 @@ void addToChanList(ciu chan, IIU *piiu) * add to the front of the list so that * search requests for new channels will be sent first */ - chan->retry = 0u; ellInsert(&piiu->chidlist, NULL, &chan->node); } else { diff --git a/src/ca/iocinf.c b/src/ca/iocinf.c index 9c76a2658..24b4f452d 100644 --- a/src/ca/iocinf.c +++ b/src/ca/iocinf.c @@ -57,6 +57,9 @@ /* kernels that support multicast */ /* * $Log$ + * Revision 1.84.4.5 2002/07/12 22:16:02 jba + * Updated license comments. + * * Revision 1.84.4.4 2002/05/28 18:41:41 jhill * fixed ellFree cause malloc and free to be in different win32 dlls * @@ -1545,6 +1548,7 @@ void cacDisconnectChannel(ciu chix) chix->id.sid = ~0u; chix->ar.read_access = FALSE; chix->ar.write_access = FALSE; + chix->retry = 4u; /* * call their connection handler as required @@ -1606,7 +1610,9 @@ void cacDisconnectChannel(ciu chix) */ assert (piiuCast); addToChanList(chix, piiuCast); - cacSetRetryInterval(0u); + if ( ca_static->ca_search_retry > 4u ) { + cacSetRetryInterval(4u); + } UNLOCK; }