summaryrefslogtreecommitdiffstats
path: root/src/uscxml/interpreter/InterpreterImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/uscxml/interpreter/InterpreterImpl.cpp')
-rw-r--r--src/uscxml/interpreter/InterpreterImpl.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/uscxml/interpreter/InterpreterImpl.cpp b/src/uscxml/interpreter/InterpreterImpl.cpp
index 414dba2..1caa3f0 100644
--- a/src/uscxml/interpreter/InterpreterImpl.cpp
+++ b/src/uscxml/interpreter/InterpreterImpl.cpp
@@ -103,6 +103,9 @@ InterpreterImpl::~InterpreterImpl() {
if (_document)
delete _document;
+ if (_lambdaMonitor)
+ delete _lambdaMonitor;
+
{
std::lock_guard<std::recursive_mutex> lock(_instanceMutex);
_instances.erase(getSessionId());
@@ -139,7 +142,7 @@ void InterpreterImpl::reset() {
if (_microStepper)
_microStepper.reset();
- _isInitialized = false;
+// _isInitialized = false;
_state = USCXML_INSTANTIATED;
// _dataModel.reset();
if (_delayQueue)
@@ -622,4 +625,12 @@ void InterpreterImpl::enqueueAtParent(const Event& event) {
}
+LambdaMonitor& InterpreterImpl::on() {
+ if (_lambdaMonitor == NULL) {
+ _lambdaMonitor = new LambdaMonitor();
+ addMonitor(_lambdaMonitor);
+ }
+ return *_lambdaMonitor;
+}
+
}