Don't pull in a dependency on pthread_kill in single-threaded builds

Fixes a regression preventing single-threaded Emscripten builds from
linking successfully without passing `-pthread` to emcc.
This commit is contained in:
Carl Åstholm 2025-11-07 22:01:40 +01:00
parent aa4332fb0e
commit d05156eb71

View file

@ -797,9 +797,10 @@ fn await(
result_alignment: std.mem.Alignment, result_alignment: std.mem.Alignment,
) void { ) void {
_ = result_alignment; _ = result_alignment;
if (builtin.single_threaded) return;
const t: *Threaded = @ptrCast(@alignCast(userdata)); const t: *Threaded = @ptrCast(@alignCast(userdata));
const closure: *AsyncClosure = @ptrCast(@alignCast(any_future)); const ac: *AsyncClosure = @ptrCast(@alignCast(any_future));
closure.waitAndDeinit(t.allocator, result); ac.waitAndDeinit(t.allocator, result);
} }
fn cancel( fn cancel(
@ -809,6 +810,7 @@ fn cancel(
result_alignment: std.mem.Alignment, result_alignment: std.mem.Alignment,
) void { ) void {
_ = result_alignment; _ = result_alignment;
if (builtin.single_threaded) return;
const t: *Threaded = @ptrCast(@alignCast(userdata)); const t: *Threaded = @ptrCast(@alignCast(userdata));
const ac: *AsyncClosure = @ptrCast(@alignCast(any_future)); const ac: *AsyncClosure = @ptrCast(@alignCast(any_future));
ac.closure.requestCancel(); ac.closure.requestCancel();