From: Nobuyoshi Nakada Date: 2007-01-25T00:36:51+09:00 Subject: [ruby-dev:30183] Re: Open3.popen3 の終了処理 なかだです。 At Wed, 24 Jan 2007 23:42:02 +0900, とみたまさひろ wrote in [ruby-dev:30181]: > Open3.popen3 がコマンドの exec に失敗した場合に、通常の終了処理を行なっ > てしまい、at_exit 等が実行されてしまいます。 どっちかというと、fork/execのない環境でも使えるように Process.spawnを拡張したいとこですが。 > # エラーメッセージの形式が変わってしまいますけど…。 こういうのはどうでしょう。 Index: lib/open3.rb =================================================================== --- lib/open3.rb (revision 11540) +++ lib/open3.rb (working copy) @@ -65,7 +65,9 @@ module Open3 pe[1].close + at_exit {exit!(false)} + at_exit {raise $!} exec(*cmd) } - exit!(0) + exit!(true) } -- --- 僕の前にBugはない。 --- 僕の後ろにBugはできる。 中田 伸悦