From 88a8433d310d8dd00d7ae0176d671ca3af8fef5a Mon Sep 17 00:00:00 2001 From: Nik Bougalis Date: Tue, 17 Dec 2013 12:48:01 -0800 Subject: [PATCH] Add reference counting to AsyncObject --- src/beast/modules/beast_asio/async/AsyncObject.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/beast/modules/beast_asio/async/AsyncObject.h b/src/beast/modules/beast_asio/async/AsyncObject.h index 12606ffaf..3488f8f3c 100644 --- a/src/beast/modules/beast_asio/async/AsyncObject.h +++ b/src/beast/modules/beast_asio/async/AsyncObject.h @@ -64,6 +64,17 @@ public: Derived* m_owner; }; + void addReference () + { + ++m_pending; + } + + void removeReference () + { + if (--m_pending) + (static_cast (this))->asyncHandlersComplete (); + } + private: // The number of handlers pending. Atomic m_pending;