Skip to content

Conversation

@akleshchev
Copy link
Contributor

Look like there is a feedback loop going on. If two large inventory messages arrive back to back, message A would work foe a short periood then supends, B wakes up, B would work then suspends and A would wake up, loop continues untill work is done 10 secodns later...

P.S. Fix appears to work as intended, but there are odities around this issue that make me think that more might be needed. Sadly corotines do not work with tracy and checking them is a time consuming process, so unless I see a proof of other problems this will have to be enough.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a freeze issue when fetching large inventory messages by preventing a feedback loop between coroutines. When two large inventory messages arrive back-to-back, they were previously waking each other up repeatedly, causing a 10-second freeze.

Changes:

  • Added a new suspendUntilNextFrame() function that suspends a coroutine until the next mainloop frame tick
  • Modified AISUpdate::checkTimeout() to use suspendUntilNextFrame() instead of suspend() to prevent coroutines from prematurely waking each other

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

File Description
indra/llcommon/lleventcoro.h Added declaration for new suspendUntilNextFrame() function
indra/llcommon/lleventcoro.cpp Implemented suspendUntilNextFrame() to wait for mainloop's newFrame event
indra/newview/llaisapi.cpp Changed timeout handling to use suspendUntilNextFrame() instead of suspend()

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@akleshchev akleshchev force-pushed the andreyk/viewer_5086_guide branch from 401bffc to 17ec9d8 Compare January 23, 2026 21:06
@akleshchev akleshchev merged commit e42ec63 into release/2026.01 Jan 24, 2026
12 checks passed
@akleshchev akleshchev deleted the andreyk/viewer_5086_guide branch January 24, 2026 16:42
@github-actions github-actions bot locked and limited conversation to collaborators Jan 24, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Optimize appearance floater to work better with large amount of outfits

4 participants