[前][次][番号順一覧][スレッド一覧]

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...       ]