diff options
| author | Rider Linden <rider@lindenlab.com> | 2026-02-06 14:22:13 -0800 |
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2026-02-06 14:23:51 -0800 |
| commit | a0a59882c19f48d62459bf03ad28dfb7975e0dd0 (patch) | |
| tree | 856ca760410f8810c8381783abbb1a82c3e6098d /indra/newview/llsyntaxid.cpp | |
| parent | 9d85a77647c47a049841b213e0fce97223898853 (diff) | |
fetchKeywordsFileCoro would invoke loadKeywordsIntoLLSD as part of the coroutine. This would trigger an attempt to get a mutex which will fail in a coro. Instead post the cleanup back to the mainthread.
Diffstat (limited to 'indra/newview/llsyntaxid.cpp')
| -rw-r--r-- | indra/newview/llsyntaxid.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/indra/newview/llsyntaxid.cpp b/indra/newview/llsyntaxid.cpp index d9b2726992..16274f59bc 100644 --- a/indra/newview/llsyntaxid.cpp +++ b/indra/newview/llsyntaxid.cpp @@ -148,9 +148,14 @@ void LLSyntaxIdLSL::fetchKeywordsFileCoro(std::string url, std::string fileSpec) if (isSupportedVersion(result)) { - setKeywordsXml(result); - cacheFile(fileSpec, result); - loadKeywordsIntoLLSD(); + // Shuttle this task to the main coro/worker. + // loadKeywordsIntoLLSD will attempt to get a mutex which is not coro aware. + LLAppViewer::instance()->postToMainCoro([this, result, fileSpec]() + { + setKeywordsXml(result); + cacheFile(fileSpec, result); + loadKeywordsIntoLLSD(); + }); } else { |
