proper cleanup of local channels

This commit is contained in:
Jeff Hill
2000-09-14 00:33:35 +00:00
parent 5e764be847
commit d727e229eb
4 changed files with 27 additions and 14 deletions

View File

@@ -899,9 +899,9 @@ bool cac::createChannelIO (const char *pName, cacChannel &chan)
{
cacLocalChannelIO *pIO;
pIO = this->services.createChannelIO ( pName, chan );
pIO = this->services.createChannelIO ( pName, *this, chan );
if ( ! pIO ) {
pIO = cacGlobalServiceList.createChannelIO ( pName, chan );
pIO = cacGlobalServiceList.createChannelIO ( pName, *this, chan );
if ( ! pIO ) {
if ( ! this->pudpiiu ) {
if ( ! this->setupUDP () ) {
@@ -929,6 +929,13 @@ bool cac::createChannelIO (const char *pName, cacChannel &chan)
return true;
}
void cac::uninstallLocalChannel ( cacLocalChannelIO &localIO )
{
this->defaultMutex.lock ();
this->localChanList.remove ( localIO );
this->defaultMutex.unlock ();
}
bool cac::setupUDP ()
{
this->defaultMutex.lock ();