Skip to content
Snippets Groups Projects
Commit 75b5f72e authored by Nat Goodspeed's avatar Nat Goodspeed
Browse files

DRTVWR-476, SL-13512: Fix flawed fix for former failure.

Specifically, llcoro::suspendUntilTimeout() is definitely called concurrently
by multiple coroutines. New code that instantiates a local LLEventStream must
allow the name to be tweaked for uniqueness.
parent e7d3b7cc
No related branches found
No related tags found
No related merge requests found
...@@ -124,7 +124,11 @@ void llcoro::suspendUntilTimeout(float seconds) ...@@ -124,7 +124,11 @@ void llcoro::suspendUntilTimeout(float seconds)
// Wait for an event on a bogus LLEventPump on which nobody ever posts // Wait for an event on a bogus LLEventPump on which nobody ever posts
// events. Don't make it static because that would force instantiation of // events. Don't make it static because that would force instantiation of
// the LLEventPumps LLSingleton registry at static initialization time. // the LLEventPumps LLSingleton registry at static initialization time.
LLEventStream bogus("xyzzy"); // could use an LLUUID if it matters // DO allow tweaking the name for uniqueness, this definitely gets
// re-entered on multiple coroutines!
// We could use an LLUUID if it were important to actively prohibit anyone
// from ever posting on this LLEventPump.
LLEventStream bogus("xyzzy", true);
// Timeout is the NORMAL case for this call! // Timeout is the NORMAL case for this call!
static LLSD timedout; static LLSD timedout;
// Deliver, but ignore, timedout when (as usual) we did not receive any // Deliver, but ignore, timedout when (as usual) we did not receive any
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment