Index: lib/thread.rb =================================================================== --- lib/thread.rb (revision 39476) +++ lib/thread.rb (working copy) @@ -165,6 +165,7 @@ @que.push obj @cond.signal end + self end end @@ -228,6 +229,7 @@ # def clear @que.clear + self end # @@ -315,6 +317,7 @@ @que.push obj @cond.signal end + self end end Index: test/thread/test_queue.rb =================================================================== --- test/thread/test_queue.rb (revision 39476) +++ test/thread/test_queue.rb (working copy) @@ -107,4 +107,29 @@ end } end + + def test_queue_push_return_value + q = Queue.new + retval = q.push(1) + assert_same q, retval + end + + def test_queue_clear_return_value + q = Queue.new + retval = q.clear + assert_same q, retval + end + + def test_sized_queue_push_return_value + q = SizedQueue.new(1) + retval = q.push(1) + assert_same q, retval + end + + def test_sized_queue_clear_return_value + q = SizedQueue.new(1) + retval = q.clear + assert_same q, retval + end + end