diff --git a/src/cas/generic/casChannelI.cc b/src/cas/generic/casChannelI.cc index 9e169f6bc..c8b655665 100644 --- a/src/cas/generic/casChannelI.cc +++ b/src/cas/generic/casChannelI.cc @@ -198,16 +198,13 @@ bool casChannelI::unistallMonitor ( ca_uint32_t clientIdIn ) tsDLIter iter = this->monitorList.firstIter (); while ( iter.valid () ) { if ( clientIdIn == iter->getClientId () ) { - break; + this->monitorList.remove ( *iter.pointer() ); + this->getClient().destroyMonitor ( *iter.pointer() ); + return true; } iter++; } - if ( ! iter.valid () ) { - return false; - } - this->monitorList.remove ( *iter.pointer() ); - this->getClient().destroyMonitor ( *iter.pointer() ); - return true; + return false; } //