From: "U.Nakamura" Date: 2002-08-26T14:23:18+09:00 Subject: [ruby-dev:18079] Re: Win32 signal, process etc こんにちは、なかむら(う)です。 At Aug.24,2002 23:54:10, wrote in '[ruby-dev:18076] Win32 signal, process etc' > win32/win32.c:kill()でSIGINTとSIGKILLだけ処理していますが、 > signal.cではSIGKILLが定義されていないため、実際には即値で指定し > ないと使えません。win32.cのSIGKILLの定義をsignal.cにもコピーす > るか、win32.hでsignal.hもインクルードしてそっちに持っていくかす > る必要があると思います。あるいは、SIGTERMはあるようなのでこれも > SIGKILLと同じ処理にするとか。 win32.hに入れようと思って、そのまま忘れてました。 候補にないですが、win32.hじゃなくてrubysig.h(ですよね?)じゃ ないと何かまずいんでしたっけ? > また、CreateChild()ではWin9xの場合にpidの符号を反転してますが、 > kill()ではSIGINTの場合にそれを戻していません。 commitしてください。 > もうひとつ、pipe_exec()では一旦stdin/stdoutにdupしてから > CreateProcess()してますが、なんとなくこれはCreateChild()と機能 > 的に重複してるような気がします。 pipe_exec()ではCreateProcess()じゃなくてCreateChild()を呼ん でるつもりですが、見間違え? ただ、CreateChild()の後ろの三つの引数を結局どこでも使ってな くて意味がないというのは思います。 pipe_exec()で使うような使い方のために用意したつもりだったよ うな気もするんですけどね。 # そういや、pipe_exec()という名前もかなりダメダメ それでは。 -- U.Nakamura