From ca53e44f8aafb10adfc483cbd1449211b11ea718 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Sat, 27 Jan 2001 00:10:29 +0000 Subject: [PATCH] fixed logic when beacon arrives for a dead IIU --- src/ca/cac.cpp | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/src/ca/cac.cpp b/src/ca/cac.cpp index af8928c3b..0408142dc 100644 --- a/src/ca/cac.cpp +++ b/src/ca/cac.cpp @@ -449,7 +449,7 @@ void cac::beaconNotify ( const inetAddrID &addr ) */ pBHE = this->lookupBeaconInetAddr ( addr ); if ( pBHE ) { - netChange = pBHE->updateBeaconPeriod ( this->programBeginTime ); + netChange = pBHE->updatePeriod ( this->programBeginTime ); } else { /* @@ -916,19 +916,20 @@ tcpiiu * cac::constructTCPIIU ( const osiSockAddr &addr, unsigned minorVersion ) { epicsAutoMutex autoMutex ( this->defaultMutex ); pBHE = this->lookupBeaconInetAddr ( addr.ia ); - if ( ! pBHE ) { - pBHE = this->createBeaconHashEntry ( addr.ia, osiTime () ); - if ( ! pBHE ) { - return NULL; + if ( pBHE ) { + piiu = pBHE->getIIU (); + if ( piiu ) { + if ( piiu->alive () ) { + return piiu; + } + else { + return NULL; + } } } - - piiu = pBHE->getIIU (); - if ( piiu ) { - if ( piiu->alive () ) { - return piiu; - } - else { + else { + pBHE = this->createBeaconHashEntry ( addr.ia, osiTime () ); + if ( ! pBHE ) { return NULL; } }