diff options
Diffstat (limited to 'src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp')
-rw-r--r-- | src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp b/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp index 4390927..e0b5a8d 100644 --- a/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp +++ b/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp @@ -17,7 +17,7 @@ DelayedEventQueue::DelayedEventQueue() { DelayedEventQueue::~DelayedEventQueue() { // std::cout << "Deleting DelayedEventQueue" << std::endl; stop(); - if (_thread) + if (_thread && _isStarted) _thread->join(); if(_eventLoop) event_base_free(_eventLoop); @@ -66,6 +66,7 @@ void DelayedEventQueue::cancelEvent(std::string eventId) { void DelayedEventQueue::start() { _isStarted = true; _thread = new tthread::thread(DelayedEventQueue::run, this); + _isStarted = false; } void DelayedEventQueue::stop() { |