From: "kosaki (Motohiro KOSAKI)" Date: 2012-11-28T02:31:30+09:00 Subject: [ruby-core:50232] [ruby-trunk - Bug #7134] Signal handling bug in Mac OS X Issue #7134 has been updated by kosaki (Motohiro KOSAKI). Assignee changed from nobu (Nobuyoshi Nakada) to ko1 (Koichi Sasada) ko1 suggested to use rb_thread_call_without_gvl2(). but it doesn't have a way to avoid CHECK_INTS completely. I'm waiting ko1's rb_thread_call_without_gvl2 fix. ---------------------------------------- Bug #7134: Signal handling bug in Mac OS X https://bugs.ruby-lang.org/issues/7134#change-34053 Author: auastro (Andy Kitchen) Status: Assigned Priority: Normal Assignee: ko1 (Koichi Sasada) Category: Target version: 2.0.0 ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin12] On Mac OS X, running the attached program causes the exception below about 1/10 times it is run. $ ruby hup.rb hup.rb:2:in `write': deadlock; recursive locking (ThreadError) from hup.rb:2:in `puts' from hup.rb:2:in `puts' from hup.rb:2:in `block in
' from hup.rb:6:in `call' from hup.rb:6:in `write' from hup.rb:6:in `puts' from hup.rb:6:in `puts' from hup.rb:6:in `
' The expected output is: > In Hup Handler >Finished... or > Finished... > In Hup Handler My ruby is compiled with clang: $ clang --version Apple clang version 4.1 (tags/Apple/clang-421.11.65) (based on LLVM 3.1svn) Target: x86_64-apple-darwin12.2.0 Thread model: posix -- http://bugs.ruby-lang.org/