-
-
Notifications
You must be signed in to change notification settings - Fork 652
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
Properly manage the lifetime of Exiters in Daemon Runs #7996
Properly manage the lifetime of Exiters in Daemon Runs #7996
Conversation
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.
I understand the time constraint with this review, so if you want to create a ticket and circle back with the cosmetic changes suggested, that would be completely fine!
dee32d8
to
005c2dc
Compare
005c2dc
to
d9529f8
Compare
I have made many changes to the PR, so I'd like a fresh review if possible. |
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.
Thanks a lot! This looks good.
Will merge on green. |
Problem
There is a bug where, once the
LocalPantsRunner
has reset the global exiter to its ownLocalExiter
, it won't un-set it ever, and therefore unhandled exceptions will use that exiter to exit.This has caused issues, around this line, because the LocalPantsRunner reset the global exiter and the DaemonPantsRunner didn't reset it.
There is a regression test to demonstrate this issue.
Solution
LocalPantsRunner
,DaemonPantsRunner
,PantsRunner
andPantsDaemon
) use the global exiter.Result
The regression test passes, and
_log_unhandled_exceptions_and_exit
works as expected inDaemonPantsRunner
.