思い出したのですが、thread が動いている時に fork すると、

% ruby -ve 'Thread.new { sleep }; pid = fork {}; Process.wait pid'
ruby 1.9.0 (2004-03-22) [i686-linux]
-e:1: warning: fork terminates thread at -e:1

というように警告が出ます。

もしこの警告が fork の仕様が変更されたことを示す警告ならば、1.9 では警
告しないようにしてはどうでしょうか。

fork は、たまに system や popen では済まない場合に必要になり、その必要
になった時に thread を使っていないという保証はありません。

また、ユーザが明示的に thread を使っていなかったとしても、

% ruby -rtimeout -e 'Process.wait timeout(10) { fork {} }'
-e:1: warning: fork terminates thread at /home/akr/ruby/lib/ruby/1.9/timeout.rb:41

というようにライブラリが裏で使っていることがあり、このような場合、警告
が出ても対処しようがありません。

今から考えると、仕様が変わる前の 1.6 のときに警告を出しておけば良かっ
たように思いますが、出さなかったものはしょうがないというわけで 1.8 で
出すのは許容することにして、1.9 で消すというのはどうでしょうか。
-- 
[田中 哲][たなか あきら][Tanaka Akira]