summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevron Rees <tripzero.kev@gmail.com>2013-05-04 12:47:37 -0700
committerKevron Rees <tripzero.kev@gmail.com>2013-05-04 12:47:52 -0700
commit100f69972947afc4b761e01e81605aabf1eea8ce (patch)
treea3c72c080934d7e079852f113c15198f2afc6ccc
parented069bda027fc545336e8838c54e6819d29e7244 (diff)
downloadautomotive-message-broker-100f69972947afc4b761e01e81605aabf1eea8ce.tar.gz
make sure unregisterSink works
-rw-r--r--ambd/core.cpp8
-rw-r--r--lib/abstractsink.cpp2
2 files changed, 8 insertions, 2 deletions
diff --git a/ambd/core.cpp b/ambd/core.cpp
index 703e35d0..0b9669a4 100644
--- a/ambd/core.cpp
+++ b/ambd/core.cpp
@@ -50,10 +50,16 @@ Core::Core()
Core::~Core()
{
+ std::vector<AbstractSink*> toDelete;
for(auto itr = mSinks.begin(); itr != mSinks.end(); itr++)
{
AbstractSink* sink = *itr;
- delete sink;
+ toDelete.push_back(sink);
+ }
+
+ for(int i=0; i<toDelete.size(); i++)
+ {
+ delete toDelete[i];
}
}
diff --git a/lib/abstractsink.cpp b/lib/abstractsink.cpp
index 82de77f1..a8ec5582 100644
--- a/lib/abstractsink.cpp
+++ b/lib/abstractsink.cpp
@@ -28,7 +28,7 @@ AbstractSink::AbstractSink(AbstractRoutingEngine* engine, map<string, string> co
AbstractSink::~AbstractSink()
{
- //routingEngine->unregisterSink(this);
+ routingEngine->unregisterSink(this);
}
void AbstractSink::setConfiguration(map<string, string> config)