Skip to content

Commit 46fa9b7

Browse files
authored
fix(kqueue): support iOS mach_port operations (#204)
iOS uses mach_ports like macOS but was incorrectly excluded because the code checked for `.macos` instead of `.isDarwin()`. This fixes crashes when using libxev's kqueue backend on iOS.
2 parents a86bdc6 + 7bf2b2f commit 46fa9b7

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

src/backend/kqueue.zig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -954,7 +954,7 @@ pub const Loop = struct {
954954
// Add to our completion queue
955955
c.task_loop.thread_pool_completions.push(c);
956956

957-
if (comptime builtin.target.os.tag == .macos) {
957+
if (comptime builtin.target.os.tag.isDarwin()) {
958958
// Wake up our main loop
959959
c.task_loop.wakeup() catch {};
960960
}
@@ -1070,7 +1070,7 @@ pub const Completion = struct {
10701070
.udata = @intFromPtr(self),
10711071
}),
10721072

1073-
.machport => if (comptime builtin.os.tag != .macos) return null else kevent: {
1073+
.machport => if (comptime !builtin.os.tag.isDarwin()) return null else kevent: {
10741074
// We can't use |*v| above because it crahses the Zig
10751075
// compiler (as of 0.11.0-dev.1413). We can retry another time.
10761076
const v = &self.op.machport;

0 commit comments

Comments
 (0)