Issue #7923 has been reported by kosaki (Motohiro KOSAKI). ---------------------------------------- Feature #7923: Queue#push and Queue#pop makes trap safe https://bugs.ruby-lang.org/issues/7923 Author: kosaki (Motohiro KOSAKI) Status: Assigned Priority: Normal Assignee: kosaki (Motohiro KOSAKI) Category: lib Target version: next minor Currently, following program don't work because q.push raises an exception. However, it would be nice if queue is trap safe and Queue#push and Queue#pop can be called from trap handler. ------------------------------------------ require "thread" q = Queue.new trap("USR1") { q.push(nil) } Process.kill :USR1, $$ sleep -- http://bugs.ruby-lang.org/