ruby-reference-manual:2656
From: Nobuhiro IMAI <nov@y...>
Date: Sat, 21 May 2011 14:52:00 +0900 (JST)
Subject: [ruby-reference-manual:2656] Re: [るりまプロジェクト - Bug #4750][Assigned] Process.datach が返すスレッドの値
いまいです。 From: okkez <okkez000_at_gmail.com> Date: Sat, 21 May 2011 13:54:55 +0900 > okkez です。 > > バージョンによって返す値が違うみたいです。 おおぅ。process.c の blame を見て ずいぶん前から Process::Status を返 すように書いてあったので甘く見てました。 (snip) > ruby 1.8.4 (2005-12-24) [x86_64-linux] > 6827 > nil > ruby 1.8.5 (2008-06-20 patchlevel 231) [x86_64-linux] > 6831 (snip) ありがとうございます。1.8.4 と 1.8.5 で分かれるんですね。以下のパッチ でコミットします。 diff --git a/refm/api/src/_builtin/Process b/refm/api/src/_builtin/Process index ca47e74..aa6eb0c 100644 --- a/refm/api/src/_builtin/Process +++ b/refm/api/src/_builtin/Process @@ -50,7 +50,11 @@ Errno::EXXX --- detach(pid) -> Thread 子プロセス pid の終了を監視するスレッドを生成して返します。 +#@since "1.8.5" +生成したスレッドは子プロセスが終了した後に終了ステータス (Process::Status) を返します。 +#@else 生成したスレッドは子プロセスが終了した後に nil で終了します。 +#@end 指定した子プロセスが存在しなければ即座に nil で終了します。 @param pid 子スレッドのプロセス ID を整数で指定します。 @@ -62,10 +66,15 @@ Errno::EXXX sleep 3 } + p pid # => 7762 th = Process.detach(pid) p th.value +#@since "1.8.5" + # => #<Process::Status: pid 7762 exit 0> +#@else # => nil +#@end #@end -- ML: ruby-reference-manual@m... 使い方: http://QuickML.com/
2654 2011-05-21 02:23 [nov@y... ] [るりまプロジェクト - Bug #4750][Assigned] Process.datach が返すスレッドの値 2655 2011-05-21 06:54 ┗[okkez000@g... ] -> 2656 2011-05-21 07:52 ┗[nov@y... ] 2657 2011-05-21 08:42 ┗[okkez000@g... ]