まつもと ゆきひろです

In message "[ruby-list:20701] call Process::waitpid with -1"
    on 00/02/14, Tomoyuki Kosimizu <greentea / fa2.so-net.ne.jp> writes:

|Linux (Debian woody)を使っているのですが、次のような形で任意の子プロセ
|スの終了を処理しようとしたら、Errno::ECHILDが発生しました。-1をPIDとし
|て渡すのは反則でしょうか?

反則じゃなくてバグでしょう。;_;

--- process.c~	Tue Feb 15 01:40:19 2000
+++ process.c	Tue Feb 15 01:40:37 2000
@@ -197,5 +197,5 @@
     if (NIL_P(vflags)) flags = 0;
-    else flags = FIX2UINT(vflags);
+    else flags = NUM2UINT(vflags);
 
-    if ((pid = rb_waitpid(FIX2UINT(vpid), flags, &status)) < 0)
+    if ((pid = rb_waitpid(NUM2INT(vpid), flags, &status)) < 0)
 	rb_sys_fail(0);