From: "tarui (Masaya Tarui)" Date: 2012-11-28T22:36:40+09:00 Subject: [ruby-dev:46654] [ruby-trunk - Bug #7455][Assigned] Queue#popで待っている間にtrapに入りその時にQueue#pushされると、Queue#popから戻ってこなくなる。 Issue #7455 has been reported by tarui (Masaya Tarui). ---------------------------------------- Bug #7455: Queue#popで待っている間にtrapに入りその時にQueue#pushされると、Queue#popから戻ってこなくなる。 https://bugs.ruby-lang.org/issues/7455 Author: tarui (Masaya Tarui) Status: Assigned Priority: Normal Assignee: ko1 (Koichi Sasada) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-11-28 trunk 37937) [x86_64-linux] 以下スクリプトを実行すると期待したように終わらずに、deadlockしてしまいます。 ささださんよろしく。 -- require 'thread' que = Queue.new th = Thread.new{ sleep 0.1 Process.kill(:INT,$$) sleep 0.1 que.push 2 } Signal.trap :INT do p :trap_task 123456**100000 / 456 ** 10000 p :trap_task_end end puts "que.pop" p que.pop puts "success!" -- http://bugs.ruby-lang.org/