diff --git a/src/ca/cac.cpp b/src/ca/cac.cpp index 0408142dc..f249a9212 100644 --- a/src/ca/cac.cpp +++ b/src/ca/cac.cpp @@ -251,7 +251,6 @@ void cac::processRecvBacklog () if ( ! piiu->alive () ) { assert ( this->pudpiiu && this->pSearchTmr ); - bhe *pBHE = piiu->getBHE (); if ( ! this->enablePreemptiveCallback ) { if ( this->fdRegFunc ) { @@ -260,6 +259,12 @@ void cac::processRecvBacklog () } } + bhe *pBHE = piiu->getBHE (); + if ( pBHE ) { + this->beaconTable.remove ( *pBHE ); + pBHE->destroy (); + } + if ( piiu->channelCount () ) { char hostNameTmp[64]; piiu->hostName ( hostNameTmp, sizeof ( hostNameTmp ) ); @@ -276,10 +281,6 @@ void cac::processRecvBacklog () this->iiuList.remove ( *piiu ); this->iiuListLimbo.add ( *piiu ); - if ( pBHE ) { - this->beaconTable.remove ( *pBHE ); - pBHE->destroy (); - } this->pSearchTmr->resetPeriod ( CA_RECAST_DELAY ); }