Forked process generates spurious signal errors
The attached test program demonstrates the problem. About 25% percent of the time the forked-off program terminates with a signal error.
For best results the first parameter of the doRun() call should be set to a value slightly higher than the number of CPU cores in the system.
time ruby19 ruby-signal-bug.rb
Ok: 1513 Errors: 487
The terminated processes are killed during the IO operation and leave test*.txt files of varying size in the current directory.
The program works fine with ruby 1.8.7 PL27.