diff options
author | Rider Linden <rider@lindenlab.com> | 2016-04-26 11:56:25 -0700 |
---|---|---|
committer | Rider Linden <rider@lindenlab.com> | 2016-04-26 11:56:25 -0700 |
commit | dd2311b993d137c538ca57b4360669db6d7fbfa0 (patch) | |
tree | e7b3553da33dedfd436192e6ae555d884e58ce16 /indra/llcommon/lleventfilter.h | |
parent | 4d9dd3271b1a015d9afd21767e579a4cd71982ed (diff) |
MAINT-6336: Put the timeout upstream of the suspending pump and fire the timeout it. Also some cleanup on LLSD construction in vivox.
Diffstat (limited to 'indra/llcommon/lleventfilter.h')
-rwxr-xr-x | indra/llcommon/lleventfilter.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/indra/llcommon/lleventfilter.h b/indra/llcommon/lleventfilter.h index 15bac5fd73..66f3c14869 100755 --- a/indra/llcommon/lleventfilter.h +++ b/indra/llcommon/lleventfilter.h @@ -188,7 +188,19 @@ private: 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: |