-
-
Notifications
You must be signed in to change notification settings - Fork 146
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
WaitforAll() and external threads #51
Comments
Thanks for the report - I'll take a look at this asap. |
I've posted a potential fix for this issue to the dev branch, and will look into adding a test for this situation. In the meantime if you're able to try this out it would be very helpful. |
The fix helped, no more hangs, thanks! |
Thanks - I'll close this and merge to master and add a test at some point, do let me know if you experience any further issues and once again thanks for the report! |
This is now merged to the master branch. |
WaitForAll()
adds a dummy pinned task and then waits:enkiTS/src/TaskScheduler.cpp
Line 796 in 4f9941b
Sometimes
WaitForAll()
won't awake.Not sure if it is due to recent changes, but I have never experienced this problem until today
when I merged the master into my fork.
It seems when this happens the thread we're pinning the dummy task to, is an external thread (added via
RegisterExternalTaskThread()
). In my case this was the dedicated rendering thread - it handles main thread requests and sleeps, never running tasks explicitly, so there's no guarantee it will run the dummy task at all.The text was updated successfully, but these errors were encountered: