diff --git a/include/amqpcpp/deferred.h b/include/amqpcpp/deferred.h index c68ff78..e9c88c5 100644 --- a/include/amqpcpp/deferred.h +++ b/include/amqpcpp/deferred.h @@ -290,12 +290,12 @@ public: */ Deferred &onFinalize(const FinalizeCallback &callback) { - // store callback - _finalizeCallback = callback; - // if the object is already in a failed state, we call the callback right away if (_failed) callback(); + // otherwise we store callback until it's time for the call + else _finalizeCallback = callback; + // allow chaining return *this; }