From: Eric Wong Date: 2014-05-23T23:40:24+00:00 Subject: [ruby-core:62714] Re: [ruby-trunk - Bug #9835] IGNORE signal handler has possible race condition in Ruby 2.1.2 I could not reproduce the race, but I think the following is a fix. http://bogomips.org/ruby.git/patch?id=3137d8389c32e4 signal.c: fix SIG_IGN race for #9835 A signal may arrive before SIG_IGN is set, but be handled after trap_list[sig].cmd is cleared: 1. signal_enque runs on signal arrival 2. user calls trap(sig, "IGNORE"), setting SIG_IGN 3. rb_signal_exec runs on queued signal * signal.c (signal_exec): ignore nil for SIG_IGN * signal.c (trap_handler): set cmd to nil for SIG_IGN * signal.c (trap): generate "IGNORE" string for nil Can you please try my patch? Thank you.