Commit Graph

12 Commits (8912a9bef62386e5eecaa61ba9079d507ae16d90)

Author SHA1 Message Date
Nat Goodspeed 4ef02bc1b6 Introduce and use new sendReply() function for LLEventAPI methods.
Each LLEventAPI method that generates a reply needs to extract the name of the
reply LLEventPump from the request, typically from a ["reply"] key, copy the
["reqid"] value from request to reply, locate the reply LLEventPump and send
the enriched reply object. Encapsulate in sendReply() function before we
proliferate doing all that by hand too many more times.
2011-02-18 10:56:26 -05:00
Andrew A. de Laix 62b9513353 permit flush when disabled. 2010-12-13 12:37:34 -08:00
Andrew A. de Laix 56a39aa914 fix possible crash on shutdown in event queue flush. 2010-12-10 16:15:18 -08:00
Andrew A. de Laix dbcb6b4fa5 fix crash if posting event during shutdown. 2010-12-10 12:06:43 -08:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Nat Goodspeed 7b6ddb4106 DEV-43463: Keep LLEventPump's LLStandardSignal alive during post()
Replace LLEventPump's boost::scoped_ptr<LLStandardSignal> with
boost::shared_ptr. Take a local stack copy of that shared_ptr in post()
methods, and invoke the signal through that copy. This guards against scenario
in which LLEventPump gets destroyed during signal invocation. (See Jira for
details.) Re-enable Mani's test case that used to crash.
Introduce ll_template_cast<> to allow a template function to recognize a
parameter of a particular type.
Introduce LLListenerWrapper mechanism to support wrapper objects for
LLEventPump listeners. You instantiate an LLListenerWrapper subclass object
inline in the listen() call (typically with llwrap<>), passing it the real
listener, trusting it to forward the eventual call.
Introduce prototypical LLCoutListener and LLLogListener subclasses for
illustrative and diagnostic purposes. Test that LLLogListener doesn't block
recognizing LLEventTrackable base class bound into wrapped listener.
2009-11-30 12:57:45 -05:00
brad kittenbrink 0fc5ab7f18 Workaround for DEV-35406 lleventhost crash on shutdown.
The fix deletes all LLEventPumps boost::signal objects prior to unloading any dlls.
reviewed by Nat.
2009-10-21 19:08:25 -07:00
Nat Goodspeed c3e8c1f738 Disable MSVC "fatal warning" 4702 for boost::lexical_cast in Release build 2009-09-24 13:46:02 -04:00
brad kittenbrink 843036a7d2 Fix for lllogin_tests crash on shutdown.
RegisterFlush destructor was dereferencing a dangling reference to the mainloop EventPump which had already been destructed.
2009-08-06 15:01:26 -07:00
Nat Goodspeed f910157c16 DEV-31979: Introduce LLReqID, a class to help individual event API listeners
implement the ["reqid"] convention. This convention dictates that a response
LLSD from each such API should contain a ["reqid"] key whose value echoes the
["reqid"] value, if any, in the request LLSD.
Add LLReqID support to LLAresListener's "rewriteURI" service, LLSDMessage,
LLCapabilityListener and LLXMLRPCListener.
2009-05-27 21:17:22 +00:00
Nat Goodspeed dc93462991 svn merge -r113003:119136 svn+ssh://svn.lindenlab.com/svn/linden/branches/login-api/login-api-2 svn+ssh://svn.lindenlab.com/svn/linden/branches/login-api/login-api-3 2009-05-11 20:05:46 +00:00
Nat Goodspeed 3800c0df91 svn merge -r114679:114681 svn+ssh://svn.lindenlab.com/svn/linden/branches/event-system/event-system-7 svn+ssh://svn.lindenlab.com/svn/linden/branches/event-system/event-system-8 2009-05-08 21:08:08 +00:00