File tree Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Expand file tree Collapse file tree 1 file changed +12
-7
lines changed Original file line number Diff line number Diff line change @@ -65,27 +65,32 @@ def fill_buffer
6565 fill_buffer
6666
6767 t = Thread . new { buffer . put 32 }
68-
69- sleep ( 0.1 )
68+ t . join ( 0.1 )
7069
7170 expect ( t . status ) . to eq 'sleep'
7271 end
7372
7473 it 'continues when an element is removed' do
7574 latch = CountDownLatch . new ( 1 )
7675
77- Thread . new { ( capacity + 1 ) . times { buffer . put 'hi' } ; latch . count_down }
78- Thread . new { sleep ( 0.1 ) ; buffer . take }
76+ t1 = Thread . new do
77+ ( capacity + 3 ) . times { buffer . put 'hi' }
78+ latch . count_down
79+ end
7980
80- expect ( latch . wait ( 0.2 ) ) . to be_truthy
81+ Thread . new do
82+ t1 . join ( 0.1 )
83+ 3 . times { buffer . take }
84+ end
85+
86+ expect ( latch . wait ( 1 ) ) . to be_truthy
8187 end
8288 end
8389
8490 describe '#take' do
8591 it 'blocks when buffer is empty' do
8692 t = Thread . new { buffer . take }
87-
88- sleep ( 0.1 )
93+ t . join ( 0.1 )
8994
9095 expect ( t . status ) . to eq 'sleep'
9196 end
You can’t perform that action at this time.
0 commit comments