diff options
author | Stefan Radomski <github@mintwerk.de> | 2017-01-27 21:54:43 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2017-01-27 21:54:43 (GMT) |
commit | 7f83038a1ef642b883417cc984d1f8ca9f0bc64b (patch) | |
tree | fd9236e866a06b250992e84bbf41324adf93a9fd /src/uscxml/interpreter | |
parent | b450411ee8f0a57f3ec3909d65ecc289189e2b35 (diff) | |
download | uscxml-7f83038a1ef642b883417cc984d1f8ca9f0bc64b.zip uscxml-7f83038a1ef642b883417cc984d1f8ca9f0bc64b.tar.gz uscxml-7f83038a1ef642b883417cc984d1f8ca9f0bc64b.tar.bz2 |
Reactivated BUILD_AS_PLUGINS
Diffstat (limited to 'src/uscxml/interpreter')
-rw-r--r-- | src/uscxml/interpreter/BasicDelayedEventQueue.cpp | 3 | ||||
-rw-r--r-- | src/uscxml/interpreter/BasicEventQueue.cpp | 2 | ||||
-rw-r--r-- | src/uscxml/interpreter/FastMicroStep.cpp | 12 |
3 files changed, 14 insertions, 3 deletions
diff --git a/src/uscxml/interpreter/BasicDelayedEventQueue.cpp b/src/uscxml/interpreter/BasicDelayedEventQueue.cpp index 74ab757..ef194ca 100644 --- a/src/uscxml/interpreter/BasicDelayedEventQueue.cpp +++ b/src/uscxml/interpreter/BasicDelayedEventQueue.cpp @@ -196,7 +196,8 @@ Data BasicDelayedEventQueue::serialize() { for (auto event : _queue) { struct callbackData cb = _callbackData[event.uuid]; - struct timeval delay, now; + struct timeval delay = {0, 0}; + struct timeval now = {0, 0}; uint64_t delayMs = 0; evutil_gettimeofday(&now, NULL); diff --git a/src/uscxml/interpreter/BasicEventQueue.cpp b/src/uscxml/interpreter/BasicEventQueue.cpp index bb7c78b..5b3e9f8 100644 --- a/src/uscxml/interpreter/BasicEventQueue.cpp +++ b/src/uscxml/interpreter/BasicEventQueue.cpp @@ -42,7 +42,7 @@ Event BasicEventQueue::dequeue(size_t blockMs) { system_clock::time_point endTime = now + milliseconds(blockMs); // now + milliseconds(blockMs) may not have fitted into a duration type - limit to maximum duration - if (blockMs > system_clock::duration::max().count() - duration_cast<milliseconds>(now.time_since_epoch()).count()) { + if (blockMs > (size_t)(system_clock::duration::max().count() - duration_cast<milliseconds>(now.time_since_epoch()).count())) { endTime = system_clock::time_point::max(); } diff --git a/src/uscxml/interpreter/FastMicroStep.cpp b/src/uscxml/interpreter/FastMicroStep.cpp index 3edd3e4..33ffebd 100644 --- a/src/uscxml/interpreter/FastMicroStep.cpp +++ b/src/uscxml/interpreter/FastMicroStep.cpp @@ -420,7 +420,17 @@ COMPLETION_STABLISHED: /** -- All things transitions -- */ - tmp = DOMUtils::inPostFixOrder({_xmlPrefix.str() + "transition"}, _scxml); +// tmp = DOMUtils::inPostFixOrder({_xmlPrefix.str() + "transition"}, _scxml); + tmp = DOMUtils::inPostFixOrder({ + XML_PREFIX(_scxml).str() + "scxml", + XML_PREFIX(_scxml).str() + "state", + XML_PREFIX(_scxml).str() + "final", + XML_PREFIX(_scxml).str() + "history", + XML_PREFIX(_scxml).str() + "initial", + XML_PREFIX(_scxml).str() + "parallel" + }, _scxml); + tmp = DOMUtils::filterChildElements(XML_PREFIX(_scxml).str() + "transition", tmp); + _transitions.resize(tmp.size()); for (i = 0; i < _transitions.size(); i++) { |