On Jun 7, 2012, at 5:22 AM, Iaki Baz Castillo <ibc / aliax.net> wrote:

> 2012/6/7 Iaki Baz Castillo <ibc / aliax.net>:
>> So, it means that the signal send by Thread#kill is not
>> "rescue--able", am I right?
> 
> Also, I've realized about the following in C code:
> 
>  int exception_tag;
>  VALUE ret;
> 
>  ret = rb_protect(function, Qnil, &exception_tag);
> 
> 
> If while function() is being executed (which invokes Ruby land code)
> current thread is killed with Thread#kill, then rb_protect() exits
> with the following ANNOYING data:
> 
>  exception_tag => int 8
>  ret => VALUE FIXNUM 8
> 
> If after that I do:
> 
>  VALUE exception = rb_errinfo();
> 
> Then I get VALUE FIXNUM 8. Yes, rb_errinfo() returns FIXNUM 8 !!!
> 
> 
> -- 
> Iaki Baz Castillo
> <ibc / aliax.net>
>