こんにちは、なかむら(う)です。

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 <usa / garbagecollect.jp>