summaryrefslogtreecommitdiff
path: root/exercises
diff options
context:
space:
mode:
authorChris Boesch <chrboesch@noreply.codeberg.org>2026-04-06 18:50:57 +0200
committerChris Boesch <chrboesch@noreply.codeberg.org>2026-04-06 18:50:57 +0200
commitaeeb18931da3c8444fc85db4da43e72a0ad2a46a (patch)
treee8456b00f26f7a7306c3e90935fe1d8e240edddb /exercises
parent63e506586fad9458c8a881d003f57942542f2cde (diff)
improvements for async-io
Diffstat (limited to 'exercises')
-rw-r--r--exercises/090_async6.zig7
1 files changed, 6 insertions, 1 deletions
diff --git a/exercises/090_async6.zig b/exercises/090_async6.zig
index eab03c9..16fb75f 100644
--- a/exercises/090_async6.zig
+++ b/exercises/090_async6.zig
@@ -23,6 +23,11 @@
// }
// sel.cancelDiscard(); // cancel remaining, discard results
//
+// As with all async primitives: tasks spawned in a Select MUST
+// be cleaned up. Use sel.cancel() to get remaining results one
+// by one (for resource cleanup), or sel.cancelDiscard() if you
+// don't need them.
+//
// The buffer must be large enough for all tasks that might
// complete before you call cancelDiscard().
//
@@ -47,7 +52,7 @@ pub fn main(init: std.process.Init) !void {
// Wait for the first finisher.
// What Select method returns the first completed result?
- const winner = ???;
+ const winner = try sel.???();
switch (winner) {
.hare => |msg| print("Hare: {s}\n", .{msg}),