Queue#push and Queue#pop makes trap safe
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.
q = Queue.new
Process.kill :USR1, $$