Actions
Bug #6575
closedThread#kill sets rb_errinfo() to Fixnum 8 after rb_protect(function, data, &error_tag)
Description
Using rb_protect() I've realized that when the thread is killed by other thread using Thread#kill, the error_tag passed to rb_protect() is set to 8 and rb_errinfo() returns Fixnum 8:
ret = rb_protect(function, data, &error_tag);
// While executing function() in Ruby land, our thread is
// killed by Thread.kill.
// If now I inspect rb_errinfo() it returns Fixnum 8, and
// error_tag it's set to integer 8.
Is it the expected behaviour? Wouldn't make more sense rb_errinfo() to return some kind of a new exception ThreadKilledException or whatever instead of Fixnum 8?
Actions