diff options
author | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-10-08 17:44:23 (GMT) |
---|---|---|
committer | Stefan Radomski <radomski@tk.informatik.tu-darmstadt.de> | 2013-10-08 17:44:23 (GMT) |
commit | 9479a0d91c1bb9241324dea4f92b50405d17e97b (patch) | |
tree | 5d7e85b1ecfff44d352466246ee1c41e281a156a /src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp | |
parent | 8daf2ea0a7192e556cc059c2220469ea22155380 (diff) | |
download | uscxml-9479a0d91c1bb9241324dea4f92b50405d17e97b.zip uscxml-9479a0d91c1bb9241324dea4f92b50405d17e97b.tar.gz uscxml-9479a0d91c1bb9241324dea4f92b50405d17e97b.tar.bz2 |
Pass more ECMAScript W3C tests
Diffstat (limited to 'src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp')
-rw-r--r-- | src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp b/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp index fe16361..28bd343 100644 --- a/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp +++ b/src/uscxml/concurrency/eventqueue/DelayedEventQueue.cpp @@ -1,4 +1,6 @@ +#include "uscxml/Message.h" #include "DelayedEventQueue.h" +#include <glog/logging.h> #include <assert.h> #include <event2/event.h> #include <sstream> @@ -115,7 +117,13 @@ void DelayedEventQueue::timerCallback(evutil_socket_t fd, short what, void *arg) tthread::lock_guard<tthread::recursive_mutex> lock(data->eventQueue->_mutex); std::string eventId = data->eventId; // copy eventId - data->callback(data->userData, eventId); + try { + data->callback(data->userData, eventId); + } catch (Event e) { + LOG(ERROR) << "Exception thrown when executing delayed event:" << std::endl << e << std::endl; + } catch (...) { + LOG(ERROR) << "Exception thrown when executing delayed event" << std::endl; + } if (!data->persist) { event_free(data->event); data->eventQueue->_callbackData.erase(data->eventId); |