| ... | @@ -396,6 +396,6 @@ pub fn @"await"(userdata: ?*anyopaque, any_future: *std.Io.AnyFuture, result: [] | ... | @@ -396,6 +396,6 @@ pub fn @"await"(userdata: ?*anyopaque, any_future: *std.Io.AnyFuture, result: [] |
| 396 | const closure: *AsyncClosure = @ptrCast(@alignCast(any_future)); | 396 | const closure: *AsyncClosure = @ptrCast(@alignCast(any_future)); |
| 397 | closure.reset_event.wait(); | 397 | closure.reset_event.wait(); |
| 398 | const base: [*]align(@alignOf(AsyncClosure)) u8 = @ptrCast(closure); | 398 | const base: [*]align(@alignOf(AsyncClosure)) u8 = @ptrCast(closure); |
| 399 | @memcpy(result, (base + @sizeOf(AsyncClosure))[0..result.len]); | 399 | @memcpy(result, closure.resultPointer()[0..result.len]); |
| 400 | thread_pool.allocator.free(base[0 .. @sizeOf(AsyncClosure) + result.len]); | 400 | thread_pool.allocator.free(base[0 .. closure.result_offset + result.len]); |
| 401 | } | 401 | } |