summaryrefslogtreecommitdiffstats
path: root/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp')
-rw-r--r--src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp3
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() {