]> granicus.if.org Git - icinga2/commitdiff
Fixed assert() in ~AsyncTask obscuring other errors.
authorGunnar Beutner <gunnar@beutner.name>
Sat, 14 Jul 2012 18:06:09 +0000 (20:06 +0200)
committerGunnar Beutner <gunnar@beutner.name>
Sat, 14 Jul 2012 18:06:09 +0000 (20:06 +0200)
base/asynctask.cpp

index 7b09f83d9575a9667f22e304e7df90f0f509a76a..229aed342cc422ea0a205b3c64198fc3b7ddb696 100644 (file)
@@ -27,7 +27,10 @@ AsyncTask::AsyncTask(const AsyncTask::CompletionCallback& completionCallback)
 
 AsyncTask::~AsyncTask(void)
 {
-       assert(m_Finished);
+       if (!m_Finished) {
+               Logger::Write(LogCritical, "base", "Contract violation: "
+                   "AsyncTask was destroyed before its completion callback was invoked.");
+       }
 }
 
 void AsyncTask::Start(void)
@@ -47,4 +50,4 @@ void AsyncTask::ForwardCallback(void)
        m_CompletionCallback(GetSelf());
        m_CompletionCallback = CompletionCallback();
        m_Finished = true;
-}
\ No newline at end of file
+}