summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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)