From 370d98a85844412a8205d652017cfc981a15d0be 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 --- modules/beast_asio/async/AsyncObject.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/modules/beast_asio/async/AsyncObject.h b/modules/beast_asio/async/AsyncObject.h index 12606ffaf5..3488f8f3c5 100644 --- a/modules/beast_asio/async/AsyncObject.h +++ b/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;