diff --git a/src/ebusd/bushandler.h b/src/ebusd/bushandler.h index 484cf288..974f7ab7 100644 --- a/src/ebusd/bushandler.h +++ b/src/ebusd/bushandler.h @@ -384,12 +384,15 @@ public: */ virtual ~BusHandler() { stop(); + join(); BusRequest* req; while ((req = m_finishedRequests.pop())!=NULL) { delete req; } while ((req = m_nextRequests.pop())!=NULL) { - delete req; + if (req->m_deleteOnFinish) { + delete req; + } } if (m_currentRequest!=NULL) { delete m_currentRequest;