From: "ko1 (Koichi Sasada)" Date: 2012-12-06T01:59:56+09:00 Subject: [ruby-core:50586] [ruby-trunk - Bug #7503][Open] make timeout.rb async-interrupt safe by default Issue #7503 has been updated by ko1 (Koichi Sasada). Status changed from Closed to Open I need to make strongly objection about this commit (r38216) because this discussion is not concluded. I believe at least mame-san's permission is needed to introduce this change. This is big behavior change. ---------------------------------------- Bug #7503: make timeout.rb async-interrupt safe by default https://bugs.ruby-lang.org/issues/7503#change-34428 Author: kosaki (Motohiro KOSAKI) Status: Open Priority: Normal Assignee: Category: core Target version: 2.0.0 ruby -v: trunk 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/