summaryrefslogtreecommitdiffstats
path: root/src/uscxml/interpreter/BasicDelayedEventQueue.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/interpreter/BasicDelayedEventQueue.cpp')
-rw-r--r--src/uscxml/interpreter/BasicDelayedEventQueue.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/uscxml/interpreter/BasicDelayedEventQueue.cpp b/src/uscxml/interpreter/BasicDelayedEventQueue.cpp
index 3ad9ebd..5081e05 100644
--- a/src/uscxml/interpreter/BasicDelayedEventQueue.cpp
+++ b/src/uscxml/interpreter/BasicDelayedEventQueue.cpp
@@ -64,7 +64,7 @@ BasicDelayedEventQueue::~BasicDelayedEventQueue() {
}
std::shared_ptr<DelayedEventQueueImpl> BasicDelayedEventQueue::create(DelayedEventQueueCallbacks* callbacks) {
- return std::shared_ptr<DelayedEventQueueImpl>(new BasicDelayedEventQueue(callbacks));
+ return std::shared_ptr<DelayedEventQueueImpl>(new BasicDelayedEventQueue(callbacks));
}
void BasicDelayedEventQueue::timerCallback(evutil_socket_t fd, short what, void *arg) {
@@ -93,6 +93,8 @@ void BasicDelayedEventQueue::enqueueDelayed(const Event& event, size_t delayMs,
struct event* e = event_new(_eventLoop, -1, 0, timerCallback, &_callbackData[eventUUID]);
_callbackData[eventUUID].event = e;
+ gettimeofday(&(_callbackData[eventUUID].added), NULL);
+ timeradd(&delay, &_callbackData[eventUUID].added, &_callbackData[eventUUID].due);
event_add(e, &delay);
}