Skip to content

Commit 3b1114e

Browse files
committed
Agent#await does not alter the value
1 parent 49980ed commit 3b1114e

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

lib/concurrent/agent.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ def <<(block)
152152
# @return [Boolean] false on timeout, true otherwise
153153
def await(timeout = nil)
154154
done = Event.new
155-
post { done.set }
155+
post { |val| done.set; val }
156156
done.wait timeout
157157
end
158158

spec/concurrent/agent_spec.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,12 @@ def trigger_observable(observable)
189189
fn.should be_false
190190
end
191191

192+
it 'does not alter the value' do
193+
subject.post { |v| v + 1 }
194+
subject.await
195+
subject.value.should eq 1
196+
end
197+
192198
end
193199

194200
context 'fulfillment' do

0 commit comments

Comments
 (0)