| ... | @@ -88,8 +88,8 @@ pub const Server = struct { | ... | @@ -88,8 +88,8 @@ pub const Server = struct { |
| 88 | }, | 88 | }, |
| 89 | error.ProcessFdQuotaExceeded => { | 89 | error.ProcessFdQuotaExceeded => { |
| 90 | errdefer std.os.emfile_promise_queue.remove(&self.waiting_for_emfile_node); | 90 | errdefer std.os.emfile_promise_queue.remove(&self.waiting_for_emfile_node); |
| 91 | suspend |p| { | 91 | suspend { |
| 92 | self.waiting_for_emfile_node = PromiseNode.init(p); | 92 | self.waiting_for_emfile_node = PromiseNode.init( @handle() ); |
| 93 | std.os.emfile_promise_queue.append(&self.waiting_for_emfile_node); | 93 | std.os.emfile_promise_queue.append(&self.waiting_for_emfile_node); |
| 94 | } | 94 | } |
| 95 | continue; | 95 | continue; |
| ... | @@ -141,8 +141,9 @@ test "listen on a port, send bytes, receive bytes" { | ... | @@ -141,8 +141,9 @@ test "listen on a port, send bytes, receive bytes" { |
| 141 | (await next_handler) catch |err| { | 141 | (await next_handler) catch |err| { |
| 142 | std.debug.panic("unable to handle connection: {}\n", err); | 142 | std.debug.panic("unable to handle connection: {}\n", err); |
| 143 | }; | 143 | }; |
| 144 | suspend |p| { | 144 | suspend { |
| 145 | cancel p; | 145 | var h: promise = @handle(); |
| | 146 | cancel h; |
| 146 | } | 147 | } |
| 147 | } | 148 | } |
| 148 | async fn errorableHandler(self: *Self, _addr: *const std.net.Address, _socket: *const std.os.File) !void { | 149 | async fn errorableHandler(self: *Self, _addr: *const std.net.Address, _socket: *const std.os.File) !void { |