improvements for async-io

This commit is contained in:
Chris Boesch
2026-04-06 18:50:57 +02:00
parent 63e506586f
commit aeeb18931d
2 changed files with 10 additions and 5 deletions

View File

@@ -23,6 +23,11 @@
// } // }
// sel.cancelDiscard(); // cancel remaining, discard results // 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 // The buffer must be large enough for all tasks that might
// complete before you call cancelDiscard(). // complete before you call cancelDiscard().
// //
@@ -47,7 +52,7 @@ pub fn main(init: std.process.Init) !void {
// Wait for the first finisher. // Wait for the first finisher.
// What Select method returns the first completed result? // What Select method returns the first completed result?
const winner = ???; const winner = try sel.???();
switch (winner) { switch (winner) {
.hare => |msg| print("Hare: {s}\n", .{msg}), .hare => |msg| print("Hare: {s}\n", .{msg}),

View File

@@ -1,10 +1,10 @@
--- exercises/090_async6.zig 2026-04-02 10:25:34.016616118 +0200 --- exercises/090_async6.zig 2026-04-06 18:49:37.232023422 +0200
+++ answers/090_async6.zig 2026-04-02 10:27:48.827144051 +0200 +++ answers/090_async6.zig 2026-04-06 18:49:22.189720687 +0200
@@ -47,7 +47,7 @@ @@ -52,7 +52,7 @@
// Wait for the first finisher. // Wait for the first finisher.
// What Select method returns the first completed result? // What Select method returns the first completed result?
- const winner = ???; - const winner = try sel.???();
+ const winner = try sel.await(); + const winner = try sel.await();
switch (winner) { switch (winner) {