From: "U.Nakamura" Date: 2008-07-12T01:56:54+09:00 Subject: [ruby-dev:35446] [Bug:trunk] Thread#kill cannot break BLOCKING_REGION() on windows こんにちは、なかむら(う)です。 Windows(除cygwin)では、外部からBLOCKING_REGION()を中断させる ことができないので、あるスレッドがBLOCKING_REGION()に入ってい る場合、そのスレッドをThread#killで終了されることができません。 例: require "socket" s = TCPServer.new(0) t = Thread.new{s.accept} sleep 1 t.kill t.join # <= acceptがBLOCKING_REGION()内で処理されるため、 # ここで永久に待ち状態となる # 現時点で対策が思いついていないのですが、忘れないように記録 # に残します。 それでは。 -- U.Nakamura