diff options
| author | Rider Linden <rider@lindenlab.com> | 2026-09-23 16:28:04 -0700 |
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2026-09-23 16:28:04 -0700 |
| commit | 500587a04bf3a8793e8f32fe397e0b4e469aedb4 (patch) | |
| tree | cf2187f718abe45056bb4753b16efc6fc83feb7b /indra/llcommon/workqueue.h | |
| parent | d186daa361567fe499b80efe8481e192ffe8199b (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.h')
| -rw-r--r-- | indra/llcommon/workqueue.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/indra/llcommon/workqueue.h b/indra/llcommon/workqueue.h index 69f3286c1b..322baa36e6 100644 --- a/indra/llcommon/workqueue.h +++ b/indra/llcommon/workqueue.h @@ -265,6 +265,16 @@ namespace LL */ bool tryPost(const Work&) override; + /** + * @brief Post work to the well-known main-loop queue without blocking + * @return true if posted, false if the main loop is gone or its + * queue is closed/full + * + * For callers on a secondary thread that must not block waiting for + * the main thread (e.g. a websocket I/O thread). + */ + static bool postToMainLoop(const Work& work); + private: using Queue = LLThreadSafeQueue<Work>; Queue mQueue; |
