なんか cygwin ruby 1.8.2 の net/protocol.rb がたまに Segmentation fault で落ちる。とりあえず落ちてもすぐ復帰するようにして放置。知らん。
loop do # Make running process pid = Process.fork do # IRC BOT 起動 end # I am monitoring process. pid, status = Process.waitpid2(pid) p status end
プロセス死んでもとにかく復帰。復帰。復帰。ぐるぐる。
結構頻度が高い。socket 関連でダメだと思うんだけど、どうすればいいんだろ。
2005-01-27 01:45:23 #<Process::Status: pid=12296,signaled(SIGABRT=6)> 2005-01-27 02:19:07 #<Process::Status: pid=15652,signaled(SIGABRT=6)> 2005-01-27 17:32:52 #<Process::Status: pid=13756,signaled(SIGABRT=6)> 2005-01-27 23:23:39 #<Process::Status: pid=19748,signaled(SIGSEGV=11)>
SIGABRT のやつは net/protocol.rb の rbuf_fill
メソッド @socket.sysread(1024)
でエラー。SIGSEGV は timeout.rb。発生元はたぶん同じメソッド。