diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2024-06-17 19:41:57 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-17 19:41:57 -0400 |
| commit | 04e08ea883f94d2de7a91daee72ccc9613a18a43 (patch) | |
| tree | 01d5ca0d0657672a8ac28ef0a2d558f21d79a4f7 /lib/std/Thread.zig | |
| parent | 254a3ba9d963bd031d1e536d0da1ad0621121db2 (diff) | |
| parent | a1777cb5cb378374377fd1c5e37bef9292b90910 (diff) | |
| download | zig-04e08ea883f94d2de7a91daee72ccc9613a18a43.tar.gz zig-04e08ea883f94d2de7a91daee72ccc9613a18a43.zip | |
Merge pull request #20304 from ifreund/std-abi-fixes
std: fix a few ABI issues in the OS layer
Diffstat (limited to 'lib/std/Thread.zig')
| -rw-r--r-- | lib/std/Thread.zig | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/lib/std/Thread.zig b/lib/std/Thread.zig index c126792336..adb822173e 100644 --- a/lib/std/Thread.zig +++ b/lib/std/Thread.zig @@ -75,7 +75,7 @@ pub fn setName(self: Thread, name: []const u8) SetNameError!void { } } else { const err = std.c.pthread_setname_np(self.getHandle(), name_with_terminator.ptr); - switch (err) { + switch (@as(posix.E, @enumFromInt(err))) { .SUCCESS => return, .RANGE => unreachable, else => |e| return posix.unexpectedErrno(e), @@ -119,14 +119,14 @@ pub fn setName(self: Thread, name: []const u8) SetNameError!void { if (self.getHandle() != std.c.pthread_self()) return error.Unsupported; const err = std.c.pthread_setname_np(name_with_terminator.ptr); - switch (err) { + switch (@as(posix.E, @enumFromInt(err))) { .SUCCESS => return, else => |e| return posix.unexpectedErrno(e), } }, .netbsd, .solaris, .illumos => if (use_pthreads) { const err = std.c.pthread_setname_np(self.getHandle(), name_with_terminator.ptr, null); - switch (err) { + switch (@as(posix.E, @enumFromInt(err))) { .SUCCESS => return, .INVAL => unreachable, .SRCH => unreachable, @@ -144,7 +144,7 @@ pub fn setName(self: Thread, name: []const u8) SetNameError!void { }, .dragonfly => if (use_pthreads) { const err = std.c.pthread_setname_np(self.getHandle(), name_with_terminator.ptr); - switch (err) { + switch (@as(posix.E, @enumFromInt(err))) { .SUCCESS => return, .INVAL => unreachable, .FAULT => unreachable, @@ -180,7 +180,7 @@ pub fn getName(self: Thread, buffer_ptr: *[max_name_len:0]u8) GetNameError!?[]co } } else { const err = std.c.pthread_getname_np(self.getHandle(), buffer.ptr, max_name_len + 1); - switch (err) { + switch (@as(posix.E, @enumFromInt(err))) { .SUCCESS => return std.mem.sliceTo(buffer, 0), .RANGE => unreachable, else => |e| return posix.unexpectedErrno(e), @@ -219,7 +219,7 @@ pub fn getName(self: Thread, buffer_ptr: *[max_name_len:0]u8) GetNameError!?[]co }, .macos, .ios, .watchos, .tvos, .visionos => if (use_pthreads) { const err = std.c.pthread_getname_np(self.getHandle(), buffer.ptr, max_name_len + 1); - switch (err) { + switch (@as(posix.E, @enumFromInt(err))) { .SUCCESS => return std.mem.sliceTo(buffer, 0), .SRCH => unreachable, else => |e| return posix.unexpectedErrno(e), @@ -227,7 +227,7 @@ pub fn getName(self: Thread, buffer_ptr: *[max_name_len:0]u8) GetNameError!?[]co }, .netbsd, .solaris, .illumos => if (use_pthreads) { const err = std.c.pthread_getname_np(self.getHandle(), buffer.ptr, max_name_len + 1); - switch (err) { + switch (@as(posix.E, @enumFromInt(err))) { .SUCCESS => return std.mem.sliceTo(buffer, 0), .INVAL => unreachable, .SRCH => unreachable, @@ -243,7 +243,7 @@ pub fn getName(self: Thread, buffer_ptr: *[max_name_len:0]u8) GetNameError!?[]co }, .dragonfly => if (use_pthreads) { const err = std.c.pthread_getname_np(self.getHandle(), buffer.ptr, max_name_len + 1); - switch (err) { + switch (@as(posix.E, @enumFromInt(err))) { .SUCCESS => return std.mem.sliceTo(buffer, 0), .INVAL => unreachable, .FAULT => unreachable, |
