diff --git a/src/libCom/timer/osiTimer.cpp b/src/libCom/timer/osiTimer.cpp index 1e1160774..8ccd8a345 100644 --- a/src/libCom/timer/osiTimer.cpp +++ b/src/libCom/timer/osiTimer.cpp @@ -478,9 +478,10 @@ osiTimerThread::osiTimerThread (osiTimerQueue &queueIn, unsigned priority) : void osiTimerThread::entryPoint () { queue.exitFlag = false; - while (!queue.terminateFlag) { + while ( ! queue.terminateFlag ) { queue.process (); - queue.rescheduleEvent.wait ( queue.delayToFirstExpire () ); + double delay = queue.delayToFirstExpire (); + queue.rescheduleEvent.wait ( delay ); } queue.exitFlag = true; queue.exitEvent.signal (); // no access to queue after exitEvent signal