From: KOSAKI Motohiro Date: 2011-12-14T10:36:58+09:00 Subject: [ruby-dev:44993] Re: [ruby-trunk - Bug #5757] main threadがreadやselectで待っていると、^C でなかなか死なない 2011年12月13日19:45 Tomoyuki Chikanaga : > > Issue #5757 has been updated by Tomoyuki Chikanaga. > > > Bug #5343 を登録したものです。 > ちゃんと試さずに書いてしまいますが、 #5343 は別の Thread からの kill や raise での割り込みの場合の問題だったと記憶していますので、ubf_select() での rb_thread_wakeup_timer_thread() の呼び出しはタイマースレッドで実行する場合は呼ばないようにすることで両方大丈夫にならないでしょうか。 いや、スレッドがGVL競合してなくて、ubf_selectを登録したけどまだselectを読んでないとき ubf_selectのkill(VTALRM) はスカるので、もう一回ubf_select_eachが呼ばれるようにする トリックが必要だという認識です。 もうコードがうろ覚えなのでなにか見落としてる可能性もありますが。