Actions
Bug #7450
closedThread#raise may override Thread#status unexpectedly
Description
test.rb¶
ary = []
t = Thread.new {
begin
sleep
ensure
begin
ary << Thread.current.status
sleep
ensure
ary << Thread.current.status
end
end
}
sleep 0.01
t.kill
sleep 0.01
t.raise
begin
sleep
ensure
p ary
end
expected result¶
["aborting", "aborting"]
actual result¶
["aborting", "run"]
reason¶
rb_threadptr_execute_interrupt() overides th->status unconditionally.
Actions
Like0
Like0