authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-03-28 17:20:35-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-10-02 16:30:59-07:00
log5be0d0b48c7baef48b6771074156ba2327ee4fad
treee6a81e4c73727f330e3c5b12046aa5b911d36cf7
parent2f2019645c218f7d2b1f7da2d8168859110ce1cd

free freeing wrong amount in thread pool impl


1 files changed, 2 insertions(+), 2 deletions(-)

lib/std/Thread/Pool.zig+2-2
...@@ -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}