Skip to content

Commit 6cb85be

Browse files
committed
Signal closing by state
1 parent f19d247 commit 6cb85be

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

examples/benchmarks/input_output/sender_receiver.effekt

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,18 @@ import io/channel
66

77
def run(n: Int) = {
88
val (sender, receiver) = channel::allocate()
9+
val closed = ref(false)
910

1011
spawn(box {
1112
each(0, n) { i =>
12-
sender.send(Some(i))
13+
sender.send(i)
1314
}
14-
sender.send(None())
15+
closed.set(true)
1516
})
1617

1718
var s = 0
18-
while (receiver.receive(()) is Some(v)) {
19-
s = s + v
19+
while (not(closed.get())) {
20+
s = s + receiver.receive(())
2021
}
2122
return s
2223
}

0 commit comments

Comments
 (0)