Make InterruptException capturable in a program #29383
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In
julia
1.0 (probably since 0.3?), Julia program launched outside REPL (and-e
and-E
) cannot catchInterruptException
:This PR makes it work:
It seems
ccall(:jl_exit_on_sigint, Void, (Cint,), 1)
is added in #6754 but I don't see the discussion why it was required. I also checked the PRs touching this code but couldn't find any relevant discussion (#25162, #23775, #12679, #11347, #9482).I think it makes sense for various ways of running Julia program
behave consistently. Are there any reasons why
exit_on_sigint
is set to1
only in the case ofjulia script.jl
?Even if this change is reasonable, since this breaks the API, I suppose this has to be blocked until 2.0? Still, adding CLI option
--handle-interrupt
or a documented Julia function wrappingjl_exit_on_sigint
would be nice.closes #25308