summaryrefslogtreecommitdiff
path: root/indra/newview/llaisapi.cpp
diff options
context:
space:
mode:
authorAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-01-23 22:51:27 +0200
committerAndrey Kleshchev <117672381+akleshchev@users.noreply.github.com>2026-01-24 18:42:55 +0200
commite42ec63bfd7ada1087a00ca3ccc39c95679b7fab (patch)
treee25ddc81b7704dc31ad457d7c812d39ccdc57892 /indra/newview/llaisapi.cpp
parent10201dbbd36d70a6a291c4cb64c1044d99cc46a5 (diff)
#5046 Fix a long freeze when fetching inventory
Diffstat (limited to 'indra/newview/llaisapi.cpp')
-rw-r--r--indra/newview/llaisapi.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/indra/newview/llaisapi.cpp b/indra/newview/llaisapi.cpp
index 1da1647fe8..9c76f56ef3 100644
--- a/indra/newview/llaisapi.cpp
+++ b/indra/newview/llaisapi.cpp
@@ -1060,7 +1060,12 @@ void AISUpdate::checkTimeout()
{
if (mTimer.hasExpired())
{
- llcoro::suspend();
+ // If we are taking too long, don't starve other tasks,
+ // yield to mainloop.
+ // If we use normal suspend(), there will be a chance of
+ // waking up from other suspends, before main coro had
+ // a chance, so wait for a frame tick instead.
+ llcoro::suspendUntilNextFrame();
LLCoros::checkStop();
mTimer.setTimerExpirySec(AIS_EXPIRY_SECONDS);
}