Project

General

Profile

« Previous | Next » 

Revision 6c664580

Added by jhawthorn (John Hawthorn) 4 months ago

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>'