Mercurial > hg > orthanc-stone
diff Framework/Loaders/LoaderStateMachine.cpp @ 977:262a0244e9b2 toa2019090201
Added missing Unregister for objects that register by the broker + logs + guard in FetchContext
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Mon, 02 Sep 2019 17:29:26 +0200 |
parents | e75fd08d6c75 |
children | e713f1a99861 eb28dfe432f7 |
line wrap: on
line diff
--- a/Framework/Loaders/LoaderStateMachine.cpp Sat Aug 31 13:50:11 2019 +0200 +++ b/Framework/Loaders/LoaderStateMachine.cpp Mon Sep 02 17:29:26 2019 +0200 @@ -136,10 +136,9 @@ template <typename T> void LoaderStateMachine::HandleSuccessMessage(const T& message) { - LOG(TRACE) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::HandleSuccessMessage()"; + LOG(TRACE) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::HandleSuccessMessage(). Receiver fingerprint = " << GetFingerprint(); if (activeCommands_ <= 0) { LOG(ERROR) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::HandleSuccessMessage : activeCommands_ should be > 0 but is: " << activeCommands_; - LOG(ERROR) << "LoaderStateMachine(" << std::hex << this << std::dec << ") fingerprint = " << GetFingerprint(); } else { activeCommands_--; @@ -162,6 +161,7 @@ IObservable& oracleObservable) : IObserver(oracleObservable.GetBroker()), oracle_(oracle), + oracleObservable_(oracleObservable), active_(false), simultaneousDownloads_(4), activeCommands_(0) @@ -187,6 +187,7 @@ LoaderStateMachine::~LoaderStateMachine() { + oracleObservable_.Unregister(this); LOG(TRACE) << "LoaderStateMachine(" << std::hex << this << std::dec << ")::~LoaderStateMachine()"; Clear(); }