From 0fc5ab7f183496212db22f59bfa5c388ff25f054 Mon Sep 17 00:00:00 2001 From: brad kittenbrink Date: Wed, 21 Oct 2009 19:08:25 -0700 Subject: Workaround for DEV-35406 lleventhost crash on shutdown. The fix deletes all LLEventPumps boost::signal objects prior to unloading any dlls. reviewed by Nat. --- indra/llcommon/llevents.h | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'indra/llcommon/llevents.h') diff --git a/indra/llcommon/llevents.h b/indra/llcommon/llevents.h index b999bfafa7..64e5cb5da7 100644 --- a/indra/llcommon/llevents.h +++ b/indra/llcommon/llevents.h @@ -202,6 +202,12 @@ public: */ void flush(); + /** + * Reset all known LLEventPump instances + * workaround for DEV-35406 crash on shutdown + */ + void reset(); + private: friend class LLEventPump; /** @@ -504,6 +510,8 @@ private: /// flush queued events virtual void flush() {} + virtual void reset(); + private: virtual LLBoundListener listen_impl(const std::string& name, const LLEventListener&, const NameList& after, @@ -512,7 +520,8 @@ private: protected: /// implement the dispatching - LLStandardSignal mSignal; + boost::scoped_ptr mSignal; + /// valve open? bool mEnabled; /// Map of named listeners. This tracks the listeners that actually exist -- cgit v1.2.3