From db3a655374a821fcde3e3a7e7e0b3ec2808e1288 Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Tue, 18 Aug 2009 00:40:00 +0000 Subject: [PATCH] fixed improper calculation of signal needed state in postEvent (this is an issue I introduced when writing the patch where IO and subscription update events are maintained on seperate and independent queues). The issue does not exist in an EPICS base release. --- src/cas/generic/casEventSys.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cas/generic/casEventSys.cc b/src/cas/generic/casEventSys.cc index f86feb227..cd0e06e4a 100644 --- a/src/cas/generic/casEventSys.cc +++ b/src/cas/generic/casEventSys.cc @@ -253,11 +253,11 @@ caStatus casEventPurgeEv::cbFunc ( caStatus casEventSys::addToEventQueue ( casAsyncIOI & event, bool & onTheQueue, bool & posted, bool & wakeupNeeded ) { - wakeupNeeded = false; { epicsGuard < epicsMutex > guard ( this->mutex ); // dont allow them to post completion more than once if ( posted || onTheQueue ) { + wakeupNeeded = false; return S_cas_redundantPost; } posted = true; @@ -358,7 +358,7 @@ bool casEventSys::postEvent ( tsDLList < casMonitor > & monitorList, pLog = 0; } - signalNeeded = + signalNeeded |= !this->dontProcessSubscr && this->eventLogQue.count() == 0 && this->ioQue.count() == 0;