diff options
author | Jeremy Evans <code@jeremyevans.net> | 2021-04-08 07:53:06 -0700 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2021-04-08 07:53:06 -0700 |
commit | 5c4ff3f00c6bd84ef0721c1077ee9c525daa68f8 (patch) | |
tree | 48be9021d21b53227fb8ff6b026cadbfaf96349d /thread.c | |
parent | 0395aa6bbb23c2a4c92fbbec87803a9670174d2c (diff) |
Document how to handle kill/terminate interrupts in Thread.handle_interrupt
The kill/terminate interrupts are internally handled not as Exception
instances, but as integers. So using Exception doesn't handle these
interrupts, but Object does. You can use Integer if you only want to
handle kill/terminate interrupts, but that's probably more of an
implementation detail, while handling Object should work regardless
of the implementation.
Fixes [Bug #15735]
Diffstat (limited to 'thread.c')
-rw-r--r-- | thread.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -2223,6 +2223,8 @@ handle_interrupt_arg_check_i(VALUE key, VALUE val, VALUE args) * # all exceptions inherited from Exception are prohibited. * } * + * For handling all interrupts, use +Object+ and not +Exception+ + * as the ExceptionClass, as kill/terminate interrupts are not handled by +Exception+. */ static VALUE rb_thread_s_handle_interrupt(VALUE self, VALUE mask_arg) |