diff options
| author | John Hawthorn <john@hawthorn.email> | 2025-07-09 13:25:53 -0700 |
|---|---|---|
| committer | John Hawthorn <john@hawthorn.email> | 2025-07-10 15:57:08 -0700 |
| commit | 6c66458070e2de45213f473ac30b431ebea81b9b (patch) | |
| tree | 4569d73ad996680abd2b60120e8e7af4ccd607e8 /include/ruby/internal/iterator.h | |
| parent | 470e11a4113f25b48e2892cef3dda8d7308172eb (diff) | |
Fix rb_eSystemExit raised in Ractor
[Bug #21505]
Previously `Ractor.new { exit }.join` would hang because SystemExit was
special cased.
This commit updates this to take the same path as other exceptions,
which wraps the exception in a Ractor::RemoteError and does not end up
exiting the main Ractor. I don't know if that's what this should do, but
I think it's a reasonable behaviour as calling exit() in a Ractor is
odd.
in 'Ractor#join': thrown by remote Ractor. (Ractor::RemoteError)
from -e:1:in '<main>'
in 'Kernel#exit': exit (SystemExit)
from -e:1:in 'block in <main>'
Diffstat (limited to 'include/ruby/internal/iterator.h')
0 files changed, 0 insertions, 0 deletions
