summaryrefslogtreecommitdiff
path: root/indra/llcommon/workqueue.cpp
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2026-09-23 16:28:04 -0700
committerRider Linden <rider@lindenlab.com>2026-09-23 16:28:04 -0700
commit500587a04bf3a8793e8f32fe397e0b4e469aedb4 (patch)
treecf2187f718abe45056bb4753b16efc6fc83feb7b /indra/llcommon/workqueue.cpp
parentd186daa361567fe499b80efe8481e192ffe8199b (diff)
Issue #6367: The viewer would hang on exit if still connected to a plugin. Updates how the viewer dispatches coroutines to the main thread and removes an extraneous wait, that was incorrectly serializing asynchronous messages.
Diffstat (limited to 'indra/llcommon/workqueue.cpp')
-rw-r--r--indra/llcommon/workqueue.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/indra/llcommon/workqueue.cpp b/indra/llcommon/workqueue.cpp
index fbd92d089e..4f19ab2cc2 100644
--- a/indra/llcommon/workqueue.cpp
+++ b/indra/llcommon/workqueue.cpp
@@ -319,6 +319,12 @@ bool LL::WorkQueue::tryPost(const Work& callable)
}
}
+bool LL::WorkQueue::postToMainLoop(const Work& work)
+{
+ auto queue = getInstance("mainloop");
+ return queue && queue->tryPost(work);
+}
+
LL::WorkQueue::Work LL::WorkQueue::pop_()
{
return mQueue.pop();