summaryrefslogtreecommitdiff
path: root/indra/llcommon/lleventfilter.h
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2016-04-26 11:56:25 -0700
committerRider Linden <rider@lindenlab.com>2016-04-26 11:56:25 -0700
commitdd2311b993d137c538ca57b4360669db6d7fbfa0 (patch)
treee7b3553da33dedfd436192e6ae555d884e58ce16 /indra/llcommon/lleventfilter.h
parent4d9dd3271b1a015d9afd21767e579a4cd71982ed (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-xindra/llcommon/lleventfilter.h14
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: