From f861933932d4b4cac0854505f0aa6a295abc04dc Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Thu, 30 Nov 2000 17:03:25 +0000 Subject: [PATCH] fixed bugs in disconnect sequence --- src/ca/cac.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ca/cac.cpp b/src/ca/cac.cpp index 7b3d41b32..c236360ec 100644 --- a/src/ca/cac.cpp +++ b/src/ca/cac.cpp @@ -175,6 +175,10 @@ cac::~cac () tsDLIterBD piiu ( this->iiuList.first () ); while ( piiu.valid () ) { tsDLIterBD pnext = piiu.itemAfter (); + { + osiAutoMutex autoMutex ( this->defaultMutex ); + piiu->disconnectAllChan ( *this->pudpiiu ); + } piiu->disconnect (); piiu->suicide (); piiu = pnext; @@ -250,6 +254,12 @@ void cac::processRecvBacklog () } } + if ( piiu->channelCount () ) { + char hostNameTmp[64]; + piiu->hostName ( hostNameTmp, sizeof ( hostNameTmp ) ); + genLocalExcep ( *this, ECA_DISCONN, hostNameTmp ); + } + { osiAutoMutex autoMutex ( this->defaultMutex ); piiu->disconnectAllChan ( *this->pudpiiu );