From: "H.Yamamoto" Date: 2005-02-22T21:30:53+09:00 Subject: [ruby-dev:25744] Re: pthread trouble on sighandler 山本です。 >> |暫く前から「 enable-pthread の Ruby 上で Tk インタープリタを >> |複数動かしている状況で,bgerror によるエラーダイアログが >> |表示されている際に Interrupt をかけると SEGV で落ちる」という >> |結構マイナーな状況 (^_^; の問題の解消を試みていたのですが, >> |Ruby の sighandler で,Ruby インタープリタが動いている >> |native thread 以外でのシグナルを無視することしか >> |確実な回避方法はなさそうです. シグナルはよく知らないのですが、 http://developer.apple.com/ja/qa/qa2001/qa1184.html によると、MacOSX の SIGBUS などの同期シグナルは、それを発生させた スレッドだけに通知されるそうです。もし、ruby メインスレッド以外で SIGBUS が発生した場合、ruby メインスレッドにシグナルが行かず、 シグナルが完全に無視される、ということにはならないでしょうか。 http://docs.hp.com/ja/B2355-90856/pthread.3T.html にも、HP-UX では任意の1つのスレッドにシグナルが送られるようで、 やはり ruby メインスレッドに送られない可能性があると思います。