diff options
-rw-r--r-- | ambd/core.cpp | 8 | ||||
-rw-r--r-- | lib/abstractsink.cpp | 2 |
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) |