From: "mame (Yusuke Endoh)" <mame@...>
Date: 2012-12-06T21:31:31+09:00
Subject: [ruby-core:50631] [ruby-trunk - Feature #7503] make timeout.rb async-interrupt safe by default


Issue #7503 has been updated by mame (Yusuke Endoh).

Priority changed from High to Normal
Target version changed from 2.0.0 to next minor


----------------------------------------
Feature #7503: make timeout.rb async-interrupt safe by default
https://bugs.ruby-lang.org/issues/7503#change-34478

Author: kosaki (Motohiro KOSAKI)
Status: Assigned
Priority: Normal
Assignee: matz (Yukihiro Matsumoto)
Category: core
Target version: next minor


Hi

Again and again we discussed, current timeout.rb is very dangerous because ExitException interrupt argument code and unwind call stack immediately.
It may prevent to run ensure block and makes resource leak.

I proposed change default to interrupted only on blocking point.

patch is here.
https://gist.github.com/4195015

I also propse to add 'immediate' optional argument because it may help to make a workaround timeout.rb + zero blocking point corner case.

What do you think?


-- 
http://bugs.ruby-lang.org/