From 08e1428b7bf2baaa9fefeacfaef518dc75cc9c64 Mon Sep 17 00:00:00 2001 From: nagachika Date: Sun, 9 Feb 2014 16:07:41 +0000 Subject: merge revision(s) 44595: [Backport #9342] * ext/thread/thread.c (rb_szqueue_clear): notify SZQUEUE_WAITERS on SizedQueue#clear. [ruby-core:59462] [Bug #9342] * test/thread/test_queue.rb: add test. the patch is from Justin Collins. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/thread.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lib') diff --git a/lib/thread.rb b/lib/thread.rb index 1c8107085b..b140a9e445 100644 --- a/lib/thread.rb +++ b/lib/thread.rb @@ -318,6 +318,18 @@ class SizedQueue < Queue end end + # + # Removes all objects from the queue. + # + def clear + super + @mutex.synchronize do + @max.times do + @enque_cond.signal + end + end + end + # # Alias of push # -- cgit v1.2.3