Hi,

2012/11/30 SASADA Koichi <ko1 / atdot.net>:
> (2012/11/30 18:59), Brent Roman wrote:
>> Do you propose allowing a thread to defer delivery of exceptions to
>> itself?
>> What happens if one writes:
>>
>>    Thread.current.raise  Exception.new
>>
>> Can this get deferred, in your new scheme?
>> Can the delivery of:
>>
>>    Kernel.raise  Exception.new
>>
>> be deferred?
>
> No.
>
>> Personally, I think that Thread.current.raise might get deferred, but
>> Kernel.raise should bypass the queuing mechanism entirely.

I also agree strongly.

>
> Now, Thread.current.raise is not async.
> Because there is a test case it expect it is synchronous.
> (No strong reason)

realy?

eval <<EOT
begin
  Thread.async_interrupt_timing(Object => :defer){
    p 1; Thread.current.raise "test";  p 2 }
rescue
  p $!
end
EOT
result is
1
2
#<RuntimeError: test>

it's seems as async.
-- 
Masaya TARUI
No Tool,No Life.