diff options
| author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2016-05-06 11:00:47 -0400 | 
|---|---|---|
| committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2016-05-06 11:00:47 -0400 | 
| commit | 2d8b53854ebc1db5cceda1e1b5d6abbbc6c08728 (patch) | |
| tree | 56388b12b66b42059841faeadac6f110abc18d21 /indra/llcommon/lleventfilter.h | |
| parent | e0cb5438a5055c71191c6ae6b27c7dee63e40562 (diff) | |
| parent | 94559950a2c670990db56bd74e65d26652421b8c (diff) | |
merge
Diffstat (limited to 'indra/llcommon/lleventfilter.h')
| -rwxr-xr-x | indra/llcommon/lleventfilter.h | 19 | 
1 files changed, 17 insertions, 2 deletions
| diff --git a/indra/llcommon/lleventfilter.h b/indra/llcommon/lleventfilter.h index e822a664f5..66f3c14869 100755 --- a/indra/llcommon/lleventfilter.h +++ b/indra/llcommon/lleventfilter.h @@ -49,6 +49,9 @@ public:      /// Post an event to all listeners      virtual bool post(const LLSD& event) = 0; + +private: +    LLTempBoundListener mSource;  };  /** @@ -181,11 +184,23 @@ protected:  private:      bool tick(const LLSD&); -    LLBoundListener mMainloop; +    LLTempBoundListener mMainloop;      Action mAction;  }; -/// Production implementation of LLEventTimoutBase +/** + * Production implementation of LLEventTimoutBase. + *  + * @NOTE: Caution should be taken when using the LLEventTimeout(LLEventPump &)  + * constructor to ensure that the upstream event pump is not an LLEventMaildrop + * or any other kind of store and forward pump which may have events outstanding. + * Using this constructor will cause the upstream event pump to fire any pending + * events and could result in the invocation of a virtual method before the timeout + * has been fully constructed. The timeout should instead be connected upstream + * from the event pump and attached using the listen method. + * See llcoro::suspendUntilEventOnWithTimeout() for an example. + */ +   class LL_COMMON_API LLEventTimeout: public LLEventTimeoutBase  {  public: | 
