diff options
| author | Oz Linden <oz@lindenlab.com> | 2016-05-06 09:05:51 -0400 |
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2016-05-06 09:05:51 -0400 |
| commit | a07a8cbf6eca73272f2c774df7122a1f0c5e1aa9 (patch) | |
| tree | f716bdae5a265aabf8f9da1413df6a19fe3ada52 /indra/llcommon/lleventfilter.h | |
| parent | c938e165062cbe53065dcdaa434fc1c3d9f38774 (diff) | |
| parent | 94559950a2c670990db56bd74e65d26652421b8c (diff) | |
merge changes for 4.0.4-release
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: |
