diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/net/imap/test_imap.rb | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/test/net/imap/test_imap.rb b/test/net/imap/test_imap.rb index 882487881d..f1471c0d0b 100644 --- a/test/net/imap/test_imap.rb +++ b/test/net/imap/test_imap.rb @@ -215,16 +215,25 @@ class IMAPTest < Test::Unit::TestCase begin th = Thread.current m = Monitor.new + in_idle = false + exception_raised = false c = m.new_cond Thread.start do m.synchronize do - c.wait + until in_idle + c.wait(0.1) + end end th.raise(Interrupt) + exception_raised = true end imap.idle do |res| m.synchronize do + in_idle = true c.signal + until exception_raised + c.wait(0.1) + end end end rescue Interrupt |