From: sam.saffron@... Date: 2014-04-17T04:11:42+00:00 Subject: [ruby-core:62070] [ruby-trunk - Bug #9751] [Open] Process.wait does not work correctly in a thread Issue #9751 has been reported by Sam Saffron. ---------------------------------------- Bug #9751: Process.wait does not work correctly in a thread https://bugs.ruby-lang.org/issues/9751 * Author: Sam Saffron * Status: Open * Priority: Normal * Assignee: * Category: * Target version: * ruby -v: 1.9, 2.0, 2.1, 2.2 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- The following code fails under Ruby 1.9+, used to work on 1.8 with green threads ``` def test if pid = fork puts "child pid is #{pid} waiting ..." begin Process.wait(pid) puts "child exited" rescue => e p e end else sleep 3 puts "exiting child" exit 0 end end # this works as expected test puts "testing in thread" # this will hang Thread.new do test end.join ``` Additionally on SIGINT I am seeing a zombie + [BUG] pthread_mutex_lock: Invalid argument (EINVAL) -- https://bugs.ruby-lang.org/