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
Readding accidently removed std::abort #3238
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.
These std::abort
calls were removed on purpose. The rationale is that the application is going to be terminated at that point anyways. Do you have a use case where those are needed?
Yes, my use case is a application running in a terminal that I want to end
with Ctrl+C. This is currently broken. As well as applications with
segfaults (or other signals). They go on forever.
|
Ok, then this should be re-added for non-windows systems only as there we're sure that the process is being terminated once we reach that point in the execution. |
Really? If the termination handler doesn't abort, the process won't continue to run? That sounds odd to me ... |
On Windows, if the termination handler returns TRUE, then no other handler functions are called and the system terminates the process (see: https://docs.microsoft.com/en-us/windows/console/handlerroutine). |
This abort was removed with #3188.
Thanks @hkaiser for the explanation. I pushed a new version of the changes removing |
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.
LGTM, thanks!
This abort was removed with #3188.
Any background context you want to provide?
Without this change, applications can not be stopped by for example hitting ctrl+c or when an exception occurs.