From: Yukihiro Matsumoto Date: 2011-04-22T21:57:11+09:00 Subject: [ruby-dev:43422] Re: [Ruby 1.9 - Bug #4596][Open] Process.kill doesn't accept pid 0 (win32) まつもと ゆきひろです シンガポールはネットが細い気が。 In message "Re: [ruby-dev:43421] [Ruby 1.9 - Bug #4596][Open] Process.kill doesn't accept pid 0 (win32)" on Fri, 22 Apr 2011 21:52:22 +0900, Akio Tajima writes: |MSWin32版Rubyで、Process.killにpidとして0を指定するとEINVALとなります。 |この動作は、以下の理由からバグだと思いますが、何か事情があるのでしょうか? |バグと考える理由) |1. Process.killにpidとして0を指定することは認められている。 |るりま(http://doc.okkez.net/static/192/class/Process.html)でもおそらくAPIの元となったkill(2)でも、pidとして0を指定した場合、カレントプロセスのプロセスグループにシグナルを送るとなっています。 |2. win32/win32.cのkillの実装でSIGINTの送信をエミュレートするために利用しているGenerateConsoleCtrlEventは、pidとして0を指定した場合、MSDNによれば「dwProcessGroupId パラメータに 0 を指定すると、呼び出し側プロセスのコンソールを共有するすべてのプロセスに信号が送信されます。」と、所定の効果が得られる。 私には妥当だと思えますが、うささんはどう思いますか?