-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prevent random dispatcher deadlocks #14229
Conversation
You can test this PR using the following package version. |
Please, provide a repro app, since it might be app-specific. |
@kekekeks 100% repro steps. On any platform (tested on windows + mac)
|
Hmmm, it seems that it's a leftover code from the time when foreground and background processing shared the same state flag. So now requesting background processing in that particular scenario effectively disables the foreground one. |
Co-authored-by: Lubomir Tetak <[email protected]>
@ltetak - Thank you so much for finding and fixing this issue! |
What does the pull request do?
It happens from time to time that the rendering stops (tested on macOS but probably can happen on any platform). The culprit seems to be the Dispatcher does not keep properly the info if the impl has been signaled or not.
What is the current behavior?
_signaled property is true but the native implementation does nothing which breaks the loop
What is the updated/expected behavior with this PR?
don't break the loop
How was the solution implemented (if it's not obvious)?
I could not reproduce it 100% reliably but this seemed like the only place and it also makes no sense (to me) to reset the flag here since it was not signaled to the native impl.
Checklist