X-Git-Url: http://plrg.eecs.uci.edu/git/?p=folly.git;a=blobdiff_plain;f=folly%2Fio%2Fasync%2FDelayedDestructionBase.h;fp=folly%2Fio%2Fasync%2FDelayedDestructionBase.h;h=52505a064c892c69adcc4fb63524f0f73ace560e;hp=bd68c1cb89daaccfd6c164ae76ae94633ff0384c;hb=33344a23da0a447833118c7456366a1aed7c3c03;hpb=b609f8ee96bac031e30970215bb625a99dc01a68 diff --git a/folly/io/async/DelayedDestructionBase.h b/folly/io/async/DelayedDestructionBase.h index bd68c1cb..52505a06 100644 --- a/folly/io/async/DelayedDestructionBase.h +++ b/folly/io/async/DelayedDestructionBase.h @@ -37,7 +37,7 @@ namespace folly { * * Classes needing this functionality should: * - derive from DelayedDestructionBase directly - * - pass a callback to onDestroy_ which'll be called before the object is + * - implement onDelayedDestroy which'll be called before the object is * going to be destructed * - create a DestructorGuard object on the stack in each public method that * may invoke a callback @@ -93,7 +93,7 @@ class DelayedDestructionBase : private boost::noncopyable { assert(dd_->guardCount_ > 0); --dd_->guardCount_; if (dd_->guardCount_ == 0) { - dd_->onDestroy_(true); + dd_->onDelayedDestroy(true); } } } @@ -213,14 +213,15 @@ class DelayedDestructionBase : private boost::noncopyable { } /** - * Implement onDestroy_ in subclasses. - * onDestroy_() is invoked when the object is potentially being destroyed. + * Implement onDelayedDestroy in subclasses. + * onDelayedDestroy() is invoked when the object is potentially being + * destroyed. * * @param delayed This parameter is true if destruction was delayed because - * of a DestructorGuard object, or false if onDestroy_() is - * being called directly from the destructor. + * of a DestructorGuard object, or false if onDelayedDestroy() + * is being called directly from the destructor. */ - std::function onDestroy_; + virtual void onDelayedDestroy(bool delayed) = 0; private: /**