From: Tanaka Akira Date: 2008-07-10T02:47:42+09:00 Subject: [ruby-dev:35414] [Bug:1.9] $? is not thread scope 1.9 では $? がスレッドスコープでなくなっているようです。 以下のように、他のスレッドで動かしたコマンドの結果が $? に表 れます。 % ./ruby -ve ' t = Thread.new { system("false") } p $? t.join p $? ' ruby 1.9.0 (2008-07-09 revision 17977) [i686-linux] false # 1.8 では $? は変化しません。 % ruby-1.8 -ve ' t = Thread.new { system("false") } p $? t.join p $? ' ruby 1.8.7 (2008-07-10 revision 17572) [i686-linux] nil nil あと、ついでにいうと、1.9 では $? の初期値が 1.8 と異なり false です。 -- Tanaka Akira