-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
Fix lambda cross-thread dynamics (reverted) #84659
Fix lambda cross-thread dynamics (reverted) #84659
Conversation
Got an error while exiting the app for #84046. Here, the loop fails because the element seems to exist in the list, even if the size of the list is 0. |
837df82
to
eff5ee5
Compare
Out of draft! Given the complexity of the fix, any testing is welcome. |
eff5ee5
to
8701499
Compare
870149924abc1b36715cc90e852aa5818446a14b fixes #84046 on my machine! |
b729ab2
to
99e8ae4
Compare
99e8ae4
to
2715117
Compare
I can't say much about the implementation, but I've been testing this today with a number of projects, some relying a lot on lambdas, and so far I haven't noticed any regression. I also tested the MRP and confirmed it fixes #84046 for me. The other one seems Windows specific so I didn't test as I'm on Linux right now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cautiously approving, but TIWAGOS.
I've been using it the whole day and didn't run into any obvious issue.
Thanks! |
For the record, this was reverted/superseded by #85248. |
While reviewing #84616 (which this one supersedes) I found the underlying issue to be more complicated.
This requires #84657 so tasks submitted to the
WorkerThreadPool
have their thread cleanup run.Fixes #84046.
Fixes #84190.
TEMP: In draft until I can be sure both issues are really fixed.UPDATE: In a future iteration, all this thread-local bookeeping may be replaced by heap-allocated items. That would simplify this a lot, but now it's better (I think) to keep the current approach to lower the risk of regressions.