| author | |
| committer | |
| log | 8c94950c2496a5fa69f35b0f06f221e2c12339cf |
| tree | ab80d1a4f48e7401ad04dfb7855ad654e3761f63 |
| parent | 6b2899df2ad5ad139ebcadd7e42762b095853be4 |
28 files changed, 126 insertions(+), 128 deletions(-)
lib/compiler/resinator/main.zig+11-11| ... | ... | @@ -26,7 +26,7 @@ pub fn main() !void { |
| 26 | 26 | |
| 27 | 27 | if (args.len < 2) { |
| 28 | 28 | try renderErrorMessage(stderr.writer(), stderr_config, .err, "expected zig lib dir as first argument", .{}); |
| 29 | std.os.exit(1); | |
| 29 | std.process.exit(1); | |
| 30 | 30 | } |
| 31 | 31 | const zig_lib_dir = args[1]; |
| 32 | 32 | var cli_args = args[2..]; |
| ... | ... | @@ -62,7 +62,7 @@ pub fn main() !void { |
| 62 | 62 | var options = cli.parse(allocator, cli_args, &cli_diagnostics) catch |err| switch (err) { |
| 63 | 63 | error.ParseError => { |
| 64 | 64 | try error_handler.emitCliDiagnostics(allocator, cli_args, &cli_diagnostics); |
| 65 | std.os.exit(1); | |
| 65 | std.process.exit(1); | |
| 66 | 66 | }, |
| 67 | 67 | else => |e| return e, |
| 68 | 68 | }; |
| ... | ... | @@ -117,7 +117,7 @@ pub fn main() !void { |
| 117 | 117 | }, |
| 118 | 118 | } |
| 119 | 119 | try error_handler.emitMessage(allocator, .note, "to disable auto includes, use the option /:auto-includes none", .{}); |
| 120 | std.os.exit(1); | |
| 120 | std.process.exit(1); | |
| 121 | 121 | }, |
| 122 | 122 | }; |
| 123 | 123 | |
| ... | ... | @@ -153,16 +153,16 @@ pub fn main() !void { |
| 153 | 153 | preprocess.preprocess(&comp, preprocessed_buf.writer(), argv.items, maybe_dependencies_list) catch |err| switch (err) { |
| 154 | 154 | error.GeneratedSourceError => { |
| 155 | 155 | try error_handler.emitAroDiagnostics(allocator, "failed during preprocessor setup (this is always a bug):", &comp); |
| 156 | std.os.exit(1); | |
| 156 | std.process.exit(1); | |
| 157 | 157 | }, |
| 158 | 158 | // ArgError can occur if e.g. the .rc file is not found |
| 159 | 159 | error.ArgError, error.PreprocessError => { |
| 160 | 160 | try error_handler.emitAroDiagnostics(allocator, "failed during preprocessing:", &comp); |
| 161 | std.os.exit(1); | |
| 161 | std.process.exit(1); | |
| 162 | 162 | }, |
| 163 | 163 | error.StreamTooLong => { |
| 164 | 164 | try error_handler.emitMessage(allocator, .err, "failed during preprocessing: maximum file size exceeded", .{}); |
| 165 | std.os.exit(1); | |
| 165 | std.process.exit(1); | |
| 166 | 166 | }, |
| 167 | 167 | error.OutOfMemory => |e| return e, |
| 168 | 168 | }; |
| ... | ... | @@ -171,7 +171,7 @@ pub fn main() !void { |
| 171 | 171 | } else { |
| 172 | 172 | break :full_input std.fs.cwd().readFileAlloc(allocator, options.input_filename, std.math.maxInt(usize)) catch |err| { |
| 173 | 173 | try error_handler.emitMessage(allocator, .err, "unable to read input file path '{s}': {s}", .{ options.input_filename, @errorName(err) }); |
| 174 | std.os.exit(1); | |
| 174 | std.process.exit(1); | |
| 175 | 175 | }; |
| 176 | 176 | } |
| 177 | 177 | }; |
| ... | ... | @@ -191,14 +191,14 @@ pub fn main() !void { |
| 191 | 191 | const final_input = removeComments(mapping_results.result, mapping_results.result, &mapping_results.mappings) catch |err| switch (err) { |
| 192 | 192 | error.InvalidSourceMappingCollapse => { |
| 193 | 193 | try error_handler.emitMessage(allocator, .err, "failed during comment removal; this is a known bug", .{}); |
| 194 | std.os.exit(1); | |
| 194 | std.process.exit(1); | |
| 195 | 195 | }, |
| 196 | 196 | else => |e| return e, |
| 197 | 197 | }; |
| 198 | 198 | |
| 199 | 199 | var output_file = std.fs.cwd().createFile(options.output_filename, .{}) catch |err| { |
| 200 | 200 | try error_handler.emitMessage(allocator, .err, "unable to create output file '{s}': {s}", .{ options.output_filename, @errorName(err) }); |
| 201 | std.os.exit(1); | |
| 201 | std.process.exit(1); | |
| 202 | 202 | }; |
| 203 | 203 | var output_file_closed = false; |
| 204 | 204 | defer if (!output_file_closed) output_file.close(); |
| ... | ... | @@ -231,7 +231,7 @@ pub fn main() !void { |
| 231 | 231 | output_file_closed = true; |
| 232 | 232 | // Failing to delete is not really a big deal, so swallow any errors |
| 233 | 233 | std.fs.cwd().deleteFile(options.output_filename) catch {}; |
| 234 | std.os.exit(1); | |
| 234 | std.process.exit(1); | |
| 235 | 235 | }, |
| 236 | 236 | else => |e| return e, |
| 237 | 237 | }; |
| ... | ... | @@ -247,7 +247,7 @@ pub fn main() !void { |
| 247 | 247 | if (options.depfile_path) |depfile_path| { |
| 248 | 248 | var depfile = std.fs.cwd().createFile(depfile_path, .{}) catch |err| { |
| 249 | 249 | try error_handler.emitMessage(allocator, .err, "unable to create depfile '{s}': {s}", .{ depfile_path, @errorName(err) }); |
| 250 | std.os.exit(1); | |
| 250 | std.process.exit(1); | |
| 251 | 251 | }; |
| 252 | 252 | defer depfile.close(); |
| 253 | 253 |
lib/std/c/wasi.zig+2| ... | ... | @@ -8,6 +8,8 @@ pub fn _errno() *c_int { |
| 8 | 8 | return &errno; |
| 9 | 9 | } |
| 10 | 10 | |
| 11 | pub const PATH_MAX = 4096; | |
| 12 | ||
| 11 | 13 | pub const mode_t = u32; |
| 12 | 14 | pub const time_t = i64; |
| 13 | 15 |
lib/std/fs.zig+1-3| ... | ... | @@ -53,14 +53,12 @@ pub const MAX_PATH_BYTES = max_path_bytes; |
| 53 | 53 | /// * On other platforms, `[]u8` file paths are opaque sequences of bytes with |
| 54 | 54 | /// no particular encoding. |
| 55 | 55 | pub const max_path_bytes = switch (native_os) { |
| 56 | .linux, .macos, .ios, .freebsd, .openbsd, .netbsd, .dragonfly, .haiku, .solaris, .illumos, .plan9, .emscripten => posix.PATH_MAX, | |
| 56 | .linux, .macos, .ios, .freebsd, .openbsd, .netbsd, .dragonfly, .haiku, .solaris, .illumos, .plan9, .emscripten, .wasi => posix.PATH_MAX, | |
| 57 | 57 | // Each WTF-16LE code unit may be expanded to 3 WTF-8 bytes. |
| 58 | 58 | // If it would require 4 WTF-8 bytes, then there would be a surrogate |
| 59 | 59 | // pair in the WTF-16LE, and we (over)account 3 bytes for it that way. |
| 60 | 60 | // +1 for the null byte at the end, which can be encoded in 1 byte. |
| 61 | 61 | .windows => windows.PATH_MAX_WIDE * 3 + 1, |
| 62 | // TODO work out what a reasonable value we should use here | |
| 63 | .wasi => 4096, | |
| 64 | 62 | else => if (@hasDecl(root, "os") and @hasDecl(root.os, "PATH_MAX")) |
| 65 | 63 | root.os.PATH_MAX |
| 66 | 64 | else |
lib/std/fs/Dir.zig+1-1| ... | ... | @@ -2555,7 +2555,7 @@ pub fn statFile(self: Dir, sub_path: []const u8) StatFileError!Stat { |
| 2555 | 2555 | return file.stat(); |
| 2556 | 2556 | } |
| 2557 | 2557 | if (native_os == .wasi and !builtin.link_libc) { |
| 2558 | const st = try posix.fstatat_wasi(self.fd, sub_path, .{ .SYMLINK_FOLLOW = true }); | |
| 2558 | const st = try std.os.fstatat_wasi(self.fd, sub_path, .{ .SYMLINK_FOLLOW = true }); | |
| 2559 | 2559 | return Stat.fromWasi(st); |
| 2560 | 2560 | } |
| 2561 | 2561 | const st = try posix.fstatat(self.fd, sub_path, 0); |
lib/std/fs/File.zig+2-2| ... | ... | @@ -457,7 +457,7 @@ pub fn stat(self: File) StatError!Stat { |
| 457 | 457 | } |
| 458 | 458 | |
| 459 | 459 | if (builtin.os.tag == .wasi and !builtin.link_libc) { |
| 460 | const st = try posix.fstat_wasi(self.handle); | |
| 460 | const st = try std.os.fstat_wasi(self.handle); | |
| 461 | 461 | return Stat.fromWasi(st); |
| 462 | 462 | } |
| 463 | 463 | |
| ... | ... | @@ -1004,7 +1004,7 @@ pub fn metadata(self: File) MetadataError!Metadata { |
| 1004 | 1004 | .statx = stx, |
| 1005 | 1005 | }; |
| 1006 | 1006 | }, |
| 1007 | .wasi => .{ .stat = try posix.fstat_wasi(self.handle) }, | |
| 1007 | .wasi => .{ .stat = try std.os.fstat_wasi(self.handle) }, | |
| 1008 | 1008 | else => .{ .stat = try posix.fstat(self.handle) }, |
| 1009 | 1009 | }, |
| 1010 | 1010 | }; |
lib/std/fs/wasi.zig+2-3| ... | ... | @@ -1,6 +1,5 @@ |
| 1 | 1 | const std = @import("std"); |
| 2 | 2 | const builtin = @import("builtin"); |
| 3 | const os = std.os; | |
| 4 | 3 | const mem = std.mem; |
| 5 | 4 | const math = std.math; |
| 6 | 5 | const fs = std.fs; |
| ... | ... | @@ -14,10 +13,10 @@ pub const Preopens = struct { |
| 14 | 13 | // Indexed by file descriptor number. |
| 15 | 14 | names: []const []const u8, |
| 16 | 15 | |
| 17 | pub fn find(p: Preopens, name: []const u8) ?os.fd_t { | |
| 16 | pub fn find(p: Preopens, name: []const u8) ?std.posix.fd_t { | |
| 18 | 17 | for (p.names, 0..) |elem_name, i| { |
| 19 | 18 | if (mem.eql(u8, elem_name, name)) { |
| 20 | return @as(os.fd_t, @intCast(i)); | |
| 19 | return @intCast(i); | |
| 21 | 20 | } |
| 22 | 21 | } |
| 23 | 22 | return null; |
lib/std/os.zig+35-1| ... | ... | @@ -22,6 +22,7 @@ const elf = std.elf; |
| 22 | 22 | const fs = std.fs; |
| 23 | 23 | const dl = @import("dynamic_library.zig"); |
| 24 | 24 | const MAX_PATH_BYTES = std.fs.MAX_PATH_BYTES; |
| 25 | const posix = std.posix; | |
| 25 | 26 | |
| 26 | 27 | pub const linux = @import("os/linux.zig"); |
| 27 | 28 | pub const plan9 = @import("os/plan9.zig"); |
| ... | ... | @@ -98,7 +99,6 @@ pub fn isGetFdPathSupportedOnTarget(os: std.Target.Os) bool { |
| 98 | 99 | /// |
| 99 | 100 | /// Calling this function is usually a bug. |
| 100 | 101 | pub fn getFdPath(fd: std.posix.fd_t, out_buffer: *[MAX_PATH_BYTES]u8) std.posix.RealPathError![]u8 { |
| 101 | const posix = std.posix; | |
| 102 | 102 | if (!comptime isGetFdPathSupportedOnTarget(builtin.os)) { |
| 103 | 103 | @compileError("querying for canonical path of a handle is unsupported on this host"); |
| 104 | 104 | } |
| ... | ... | @@ -234,3 +234,37 @@ pub fn getFdPath(fd: std.posix.fd_t, out_buffer: *[MAX_PATH_BYTES]u8) std.posix. |
| 234 | 234 | else => unreachable, // made unreachable by isGetFdPathSupportedOnTarget above |
| 235 | 235 | } |
| 236 | 236 | } |
| 237 | ||
| 238 | /// WASI-only. Same as `fstatat` but targeting WASI. | |
| 239 | /// `pathname` should be encoded as valid UTF-8. | |
| 240 | /// See also `fstatat`. | |
| 241 | pub fn fstatat_wasi(dirfd: posix.fd_t, pathname: []const u8, flags: wasi.lookupflags_t) posix.FStatAtError!wasi.filestat_t { | |
| 242 | var stat: wasi.filestat_t = undefined; | |
| 243 | switch (wasi.path_filestat_get(dirfd, flags, pathname.ptr, pathname.len, &stat)) { | |
| 244 | .SUCCESS => return stat, | |
| 245 | .INVAL => unreachable, | |
| 246 | .BADF => unreachable, // Always a race condition. | |
| 247 | .NOMEM => return error.SystemResources, | |
| 248 | .ACCES => return error.AccessDenied, | |
| 249 | .FAULT => unreachable, | |
| 250 | .NAMETOOLONG => return error.NameTooLong, | |
| 251 | .NOENT => return error.FileNotFound, | |
| 252 | .NOTDIR => return error.FileNotFound, | |
| 253 | .NOTCAPABLE => return error.AccessDenied, | |
| 254 | .ILSEQ => return error.InvalidUtf8, | |
| 255 | else => |err| return posix.unexpectedErrno(err), | |
| 256 | } | |
| 257 | } | |
| 258 | ||
| 259 | pub fn fstat_wasi(fd: posix.fd_t) posix.FStatError!wasi.filestat_t { | |
| 260 | var stat: wasi.filestat_t = undefined; | |
| 261 | switch (wasi.fd_filestat_get(fd, &stat)) { | |
| 262 | .SUCCESS => return stat, | |
| 263 | .INVAL => unreachable, | |
| 264 | .BADF => unreachable, // Always a race condition. | |
| 265 | .NOMEM => return error.SystemResources, | |
| 266 | .ACCES => return error.AccessDenied, | |
| 267 | .NOTCAPABLE => return error.AccessDenied, | |
| 268 | else => |err| return posix.unexpectedErrno(err), | |
| 269 | } | |
| 270 | } |
lib/std/os/linux/start_pie.zig+1-1| ... | ... | @@ -81,7 +81,7 @@ pub fn relocate(phdrs: []elf.Phdr) void { |
| 81 | 81 | break :base @intFromPtr(dynv) - phdr.p_vaddr; |
| 82 | 82 | } |
| 83 | 83 | // This is not supposed to happen for well-formed binaries. |
| 84 | std.os.abort(); | |
| 84 | @trap(); | |
| 85 | 85 | }; |
| 86 | 86 | |
| 87 | 87 | var rel_addr: usize = 0; |
lib/std/posix.zig+6-40| ... | ... | @@ -1635,7 +1635,7 @@ pub fn openat(dir_fd: fd_t, file_path: []const u8, flags: O, mode: mode_t) OpenE |
| 1635 | 1635 | errdefer close(fd); |
| 1636 | 1636 | |
| 1637 | 1637 | if (flags.write) { |
| 1638 | const info = try fstat_wasi(fd); | |
| 1638 | const info = try std.os.fstat_wasi(fd); | |
| 1639 | 1639 | if (info.filetype == .DIRECTORY) |
| 1640 | 1640 | return error.IsDir; |
| 1641 | 1641 | } |
| ... | ... | @@ -4282,7 +4282,7 @@ pub const FStatError = error{ |
| 4282 | 4282 | /// Return information about a file descriptor. |
| 4283 | 4283 | pub fn fstat(fd: fd_t) FStatError!Stat { |
| 4284 | 4284 | if (native_os == .wasi and !builtin.link_libc) { |
| 4285 | return Stat.fromFilestat(try fstat_wasi(fd)); | |
| 4285 | return Stat.fromFilestat(try std.os.fstat_wasi(fd)); | |
| 4286 | 4286 | } |
| 4287 | 4287 | if (native_os == .windows) { |
| 4288 | 4288 | @compileError("fstat is not yet implemented on Windows"); |
| ... | ... | @@ -4300,19 +4300,6 @@ pub fn fstat(fd: fd_t) FStatError!Stat { |
| 4300 | 4300 | } |
| 4301 | 4301 | } |
| 4302 | 4302 | |
| 4303 | fn fstat_wasi(fd: fd_t) FStatError!wasi.filestat_t { | |
| 4304 | var stat: wasi.filestat_t = undefined; | |
| 4305 | switch (wasi.fd_filestat_get(fd, &stat)) { | |
| 4306 | .SUCCESS => return stat, | |
| 4307 | .INVAL => unreachable, | |
| 4308 | .BADF => unreachable, // Always a race condition. | |
| 4309 | .NOMEM => return error.SystemResources, | |
| 4310 | .ACCES => return error.AccessDenied, | |
| 4311 | .NOTCAPABLE => return error.AccessDenied, | |
| 4312 | else => |err| return unexpectedErrno(err), | |
| 4313 | } | |
| 4314 | } | |
| 4315 | ||
| 4316 | 4303 | pub const FStatAtError = FStatError || error{ |
| 4317 | 4304 | NameTooLong, |
| 4318 | 4305 | FileNotFound, |
| ... | ... | @@ -4325,10 +4312,10 @@ pub const FStatAtError = FStatError || error{ |
| 4325 | 4312 | /// which is relative to `dirfd` handle. |
| 4326 | 4313 | /// On WASI, `pathname` should be encoded as valid UTF-8. |
| 4327 | 4314 | /// On other platforms, `pathname` is an opaque sequence of bytes with no particular encoding. |
| 4328 | /// See also `fstatatZ` and `fstatat_wasi`. | |
| 4315 | /// See also `fstatatZ` and `std.os.fstatat_wasi`. | |
| 4329 | 4316 | pub fn fstatat(dirfd: fd_t, pathname: []const u8, flags: u32) FStatAtError!Stat { |
| 4330 | 4317 | if (native_os == .wasi and !builtin.link_libc) { |
| 4331 | const filestat = try fstatat_wasi(dirfd, pathname, .{ | |
| 4318 | const filestat = try std.os.fstatat_wasi(dirfd, pathname, .{ | |
| 4332 | 4319 | .SYMLINK_FOLLOW = (flags & AT.SYMLINK_NOFOLLOW) == 0, |
| 4333 | 4320 | }); |
| 4334 | 4321 | return Stat.fromFilestat(filestat); |
| ... | ... | @@ -4344,7 +4331,7 @@ pub fn fstatat(dirfd: fd_t, pathname: []const u8, flags: u32) FStatAtError!Stat |
| 4344 | 4331 | /// See also `fstatat`. |
| 4345 | 4332 | pub fn fstatatZ(dirfd: fd_t, pathname: [*:0]const u8, flags: u32) FStatAtError!Stat { |
| 4346 | 4333 | if (native_os == .wasi and !builtin.link_libc) { |
| 4347 | const filestat = try fstatat_wasi(dirfd, mem.sliceTo(pathname, 0), .{ | |
| 4334 | const filestat = try std.os.fstatat_wasi(dirfd, mem.sliceTo(pathname, 0), .{ | |
| 4348 | 4335 | .SYMLINK_FOLLOW = (flags & AT.SYMLINK_NOFOLLOW) == 0, |
| 4349 | 4336 | }); |
| 4350 | 4337 | return Stat.fromFilestat(filestat); |
| ... | ... | @@ -4372,27 +4359,6 @@ pub fn fstatatZ(dirfd: fd_t, pathname: [*:0]const u8, flags: u32) FStatAtError!S |
| 4372 | 4359 | } |
| 4373 | 4360 | } |
| 4374 | 4361 | |
| 4375 | /// WASI-only. Same as `fstatat` but targeting WASI. | |
| 4376 | /// `pathname` should be encoded as valid UTF-8. | |
| 4377 | /// See also `fstatat`. | |
| 4378 | fn fstatat_wasi(dirfd: fd_t, pathname: []const u8, flags: wasi.lookupflags_t) FStatAtError!wasi.filestat_t { | |
| 4379 | var stat: wasi.filestat_t = undefined; | |
| 4380 | switch (wasi.path_filestat_get(dirfd, flags, pathname.ptr, pathname.len, &stat)) { | |
| 4381 | .SUCCESS => return stat, | |
| 4382 | .INVAL => unreachable, | |
| 4383 | .BADF => unreachable, // Always a race condition. | |
| 4384 | .NOMEM => return error.SystemResources, | |
| 4385 | .ACCES => return error.AccessDenied, | |
| 4386 | .FAULT => unreachable, | |
| 4387 | .NAMETOOLONG => return error.NameTooLong, | |
| 4388 | .NOENT => return error.FileNotFound, | |
| 4389 | .NOTDIR => return error.FileNotFound, | |
| 4390 | .NOTCAPABLE => return error.AccessDenied, | |
| 4391 | .ILSEQ => return error.InvalidUtf8, | |
| 4392 | else => |err| return unexpectedErrno(err), | |
| 4393 | } | |
| 4394 | } | |
| 4395 | ||
| 4396 | 4362 | pub const KQueueError = error{ |
| 4397 | 4363 | /// The per-process limit on the number of open file descriptors has been reached. |
| 4398 | 4364 | ProcessFdQuotaExceeded, |
| ... | ... | @@ -4822,7 +4788,7 @@ pub fn faccessat(dirfd: fd_t, path: []const u8, mode: u32, flags: u32) AccessErr |
| 4822 | 4788 | const resolved: RelativePathWasi = .{ .dir_fd = dirfd, .relative_path = path }; |
| 4823 | 4789 | |
| 4824 | 4790 | const st = blk: { |
| 4825 | break :blk fstatat_wasi(dirfd, path, .{ | |
| 4791 | break :blk std.os.fstatat_wasi(dirfd, path, .{ | |
| 4826 | 4792 | .SYMLINK_FOLLOW = (flags & AT.SYMLINK_NOFOLLOW) == 0, |
| 4827 | 4793 | }); |
| 4828 | 4794 | } catch |err| switch (err) { |
src/DarwinPosixSpawn.zig+5-5| ... | ... | @@ -81,7 +81,7 @@ pub const Actions = struct { |
| 81 | 81 | } |
| 82 | 82 | |
| 83 | 83 | pub fn open(self: *Actions, fd: std.c.fd_t, path: []const u8, flags: u32, mode: std.c.mode_t) Error!void { |
| 84 | const posix_path = try std.os.toPosixPath(path); | |
| 84 | const posix_path = try std.posix.toPosixPath(path); | |
| 85 | 85 | return self.openZ(fd, &posix_path, flags, mode); |
| 86 | 86 | } |
| 87 | 87 | |
| ... | ... | @@ -130,7 +130,7 @@ pub const Actions = struct { |
| 130 | 130 | } |
| 131 | 131 | |
| 132 | 132 | pub fn chdir(self: *Actions, path: []const u8) Error!void { |
| 133 | const posix_path = try std.os.toPosixPath(path); | |
| 133 | const posix_path = try std.posix.toPosixPath(path); | |
| 134 | 134 | return self.chdirZ(&posix_path); |
| 135 | 135 | } |
| 136 | 136 | |
| ... | ... | @@ -164,7 +164,7 @@ pub fn spawn( |
| 164 | 164 | argv: [*:null]?[*:0]const u8, |
| 165 | 165 | envp: [*:null]?[*:0]const u8, |
| 166 | 166 | ) Error!std.c.pid_t { |
| 167 | const posix_path = try std.os.toPosixPath(path); | |
| 167 | const posix_path = try std.posix.toPosixPath(path); | |
| 168 | 168 | return spawnZ(&posix_path, actions, attr, argv, envp); |
| 169 | 169 | } |
| 170 | 170 | |
| ... | ... | @@ -204,12 +204,12 @@ pub fn spawnZ( |
| 204 | 204 | } |
| 205 | 205 | } |
| 206 | 206 | |
| 207 | pub fn waitpid(pid: std.c.pid_t, flags: u32) Error!std.os.WaitPidResult { | |
| 207 | pub fn waitpid(pid: std.c.pid_t, flags: u32) Error!std.posix.WaitPidResult { | |
| 208 | 208 | var status: c_int = undefined; |
| 209 | 209 | while (true) { |
| 210 | 210 | const rc = waitpid(pid, &status, @as(c_int, @intCast(flags))); |
| 211 | 211 | switch (errno(rc)) { |
| 212 | .SUCCESS => return std.os.WaitPidResult{ | |
| 212 | .SUCCESS => return std.posix.WaitPidResult{ | |
| 213 | 213 | .pid = @as(std.c.pid_t, @intCast(rc)), |
| 214 | 214 | .status = @as(u32, @bitCast(status)), |
| 215 | 215 | }, |
src/link/MachO.zig+4-4| ... | ... | @@ -4136,10 +4136,10 @@ pub fn getDebugSymbols(self: *MachO) ?*DebugSymbols { |
| 4136 | 4136 | return null; |
| 4137 | 4137 | } |
| 4138 | 4138 | |
| 4139 | pub fn ptraceAttach(self: *MachO, pid: std.os.pid_t) !void { | |
| 4139 | pub fn ptraceAttach(self: *MachO, pid: std.posix.pid_t) !void { | |
| 4140 | 4140 | if (!is_hot_update_compatible) return; |
| 4141 | 4141 | |
| 4142 | const mach_task = try std.os.darwin.machTaskForPid(pid); | |
| 4142 | const mach_task = try std.c.machTaskForPid(pid); | |
| 4143 | 4143 | log.debug("Mach task for pid {d}: {any}", .{ pid, mach_task }); |
| 4144 | 4144 | self.hot_state.mach_task = mach_task; |
| 4145 | 4145 | |
| ... | ... | @@ -4149,7 +4149,7 @@ pub fn ptraceAttach(self: *MachO, pid: std.os.pid_t) !void { |
| 4149 | 4149 | // try std.os.ptrace(std.os.darwin.PT.ATTACHEXC, pid, 0, 0); |
| 4150 | 4150 | } |
| 4151 | 4151 | |
| 4152 | pub fn ptraceDetach(self: *MachO, pid: std.os.pid_t) !void { | |
| 4152 | pub fn ptraceDetach(self: *MachO, pid: std.posix.pid_t) !void { | |
| 4153 | 4153 | if (!is_hot_update_compatible) return; |
| 4154 | 4154 | |
| 4155 | 4155 | _ = pid; |
| ... | ... | @@ -4330,7 +4330,7 @@ const Section = struct { |
| 4330 | 4330 | }; |
| 4331 | 4331 | |
| 4332 | 4332 | const HotUpdateState = struct { |
| 4333 | mach_task: ?std.os.darwin.MachTask = null, | |
| 4333 | mach_task: ?std.c.MachTask = null, | |
| 4334 | 4334 | }; |
| 4335 | 4335 | |
| 4336 | 4336 | pub const DynamicRelocs = struct { |
src/main.zig+20-19| ... | ... | @@ -12,6 +12,7 @@ const Color = std.zig.Color; |
| 12 | 12 | const warn = std.log.warn; |
| 13 | 13 | const ThreadPool = std.Thread.Pool; |
| 14 | 14 | const cleanExit = std.process.cleanExit; |
| 15 | const native_os = builtin.os.tag; | |
| 15 | 16 | |
| 16 | 17 | const tracy = @import("tracy.zig"); |
| 17 | 18 | const Compilation = @import("Compilation.zig"); |
| ... | ... | @@ -158,9 +159,9 @@ var general_purpose_allocator = std.heap.GeneralPurposeAllocator(.{ |
| 158 | 159 | pub fn main() anyerror!void { |
| 159 | 160 | crash_report.initialize(); |
| 160 | 161 | |
| 161 | const use_gpa = (build_options.force_gpa or !builtin.link_libc) and builtin.os.tag != .wasi; | |
| 162 | const use_gpa = (build_options.force_gpa or !builtin.link_libc) and native_os != .wasi; | |
| 162 | 163 | const gpa = gpa: { |
| 163 | if (builtin.os.tag == .wasi) { | |
| 164 | if (native_os == .wasi) { | |
| 164 | 165 | break :gpa std.heap.wasm_allocator; |
| 165 | 166 | } |
| 166 | 167 | if (use_gpa) { |
| ... | ... | @@ -187,7 +188,7 @@ pub fn main() anyerror!void { |
| 187 | 188 | return mainArgs(gpa_tracy.allocator(), arena, args); |
| 188 | 189 | } |
| 189 | 190 | |
| 190 | if (builtin.os.tag == .wasi) { | |
| 191 | if (native_os == .wasi) { | |
| 191 | 192 | wasi_preopens = try fs.wasi.preopensAlloc(arena); |
| 192 | 193 | } |
| 193 | 194 | |
| ... | ... | @@ -813,9 +814,9 @@ fn buildOutputType( |
| 813 | 814 | var no_builtin = false; |
| 814 | 815 | var listen: Listen = .none; |
| 815 | 816 | var debug_compile_errors = false; |
| 816 | var verbose_link = (builtin.os.tag != .wasi or builtin.link_libc) and | |
| 817 | var verbose_link = (native_os != .wasi or builtin.link_libc) and | |
| 817 | 818 | EnvVar.ZIG_VERBOSE_LINK.isSet(); |
| 818 | var verbose_cc = (builtin.os.tag != .wasi or builtin.link_libc) and | |
| 819 | var verbose_cc = (native_os != .wasi or builtin.link_libc) and | |
| 819 | 820 | EnvVar.ZIG_VERBOSE_CC.isSet(); |
| 820 | 821 | var verbose_air = false; |
| 821 | 822 | var verbose_intern_pool = false; |
| ... | ... | @@ -991,7 +992,7 @@ fn buildOutputType( |
| 991 | 992 | // if it exists, default the color setting to .off |
| 992 | 993 | // explicit --color arguments will still override this setting. |
| 993 | 994 | // Disable color on WASI per https://github.com/WebAssembly/WASI/issues/162 |
| 994 | var color: Color = if (builtin.os.tag == .wasi or EnvVar.NO_COLOR.isSet()) .off else .auto; | |
| 995 | var color: Color = if (native_os == .wasi or EnvVar.NO_COLOR.isSet()) .off else .auto; | |
| 995 | 996 | |
| 996 | 997 | switch (arg_mode) { |
| 997 | 998 | .build, .translate_c, .zig_test, .run => { |
| ... | ... | @@ -2684,7 +2685,7 @@ fn buildOutputType( |
| 2684 | 2685 | fatal("unable to open zig lib directory '{s}': {s}", .{ lib_dir, @errorName(err) }); |
| 2685 | 2686 | }, |
| 2686 | 2687 | }; |
| 2687 | } else if (builtin.os.tag == .wasi) { | |
| 2688 | } else if (native_os == .wasi) { | |
| 2688 | 2689 | break :d getWasiPreopen("/lib"); |
| 2689 | 2690 | } else if (self_exe_path) |p| { |
| 2690 | 2691 | break :d introspect.findZigLibDirFromSelfExe(arena, p) catch |err| { |
| ... | ... | @@ -2703,7 +2704,7 @@ fn buildOutputType( |
| 2703 | 2704 | .path = p, |
| 2704 | 2705 | }; |
| 2705 | 2706 | } |
| 2706 | if (builtin.os.tag == .wasi) { | |
| 2707 | if (native_os == .wasi) { | |
| 2707 | 2708 | break :l getWasiPreopen("/cache"); |
| 2708 | 2709 | } |
| 2709 | 2710 | const p = try introspect.resolveGlobalCacheDir(arena); |
| ... | ... | @@ -4368,7 +4369,7 @@ fn runOrTest( |
| 4368 | 4369 | } |
| 4369 | 4370 | } else { |
| 4370 | 4371 | const cmd = try std.mem.join(arena, " ", argv.items); |
| 4371 | fatal("the following command cannot be executed ({s} does not support spawning a child process):\n{s}", .{ @tagName(builtin.os.tag), cmd }); | |
| 4372 | fatal("the following command cannot be executed ({s} does not support spawning a child process):\n{s}", .{ @tagName(native_os), cmd }); | |
| 4372 | 4373 | } |
| 4373 | 4374 | } |
| 4374 | 4375 | |
| ... | ... | @@ -4747,9 +4748,9 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void { |
| 4747 | 4748 | var child_argv = std.ArrayList([]const u8).init(arena); |
| 4748 | 4749 | var reference_trace: ?u32 = null; |
| 4749 | 4750 | var debug_compile_errors = false; |
| 4750 | var verbose_link = (builtin.os.tag != .wasi or builtin.link_libc) and | |
| 4751 | var verbose_link = (native_os != .wasi or builtin.link_libc) and | |
| 4751 | 4752 | EnvVar.ZIG_VERBOSE_LINK.isSet(); |
| 4752 | var verbose_cc = (builtin.os.tag != .wasi or builtin.link_libc) and | |
| 4753 | var verbose_cc = (native_os != .wasi or builtin.link_libc) and | |
| 4753 | 4754 | EnvVar.ZIG_VERBOSE_CC.isSet(); |
| 4754 | 4755 | var verbose_air = false; |
| 4755 | 4756 | var verbose_intern_pool = false; |
| ... | ... | @@ -4894,7 +4895,7 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void { |
| 4894 | 4895 | } |
| 4895 | 4896 | } |
| 4896 | 4897 | |
| 4897 | const work_around_btrfs_bug = builtin.os.tag == .linux and | |
| 4898 | const work_around_btrfs_bug = native_os == .linux and | |
| 4898 | 4899 | EnvVar.ZIG_BTRFS_WORKAROUND.isSet(); |
| 4899 | 4900 | const color: Color = .auto; |
| 4900 | 4901 | |
| ... | ... | @@ -5311,7 +5312,7 @@ fn cmdBuild(gpa: Allocator, arena: Allocator, args: []const []const u8) !void { |
| 5311 | 5312 | } |
| 5312 | 5313 | } else { |
| 5313 | 5314 | const cmd = try std.mem.join(arena, " ", child_argv.items); |
| 5314 | fatal("the following command cannot be executed ({s} does not support spawning a child process):\n{s}", .{ @tagName(builtin.os.tag), cmd }); | |
| 5315 | fatal("the following command cannot be executed ({s} does not support spawning a child process):\n{s}", .{ @tagName(native_os), cmd }); | |
| 5315 | 5316 | } |
| 5316 | 5317 | } |
| 5317 | 5318 | } |
| ... | ... | @@ -5543,7 +5544,7 @@ fn jitCmd( |
| 5543 | 5544 | if (!process.can_spawn) { |
| 5544 | 5545 | const cmd = try std.mem.join(arena, " ", child_argv.items); |
| 5545 | 5546 | fatal("the following command cannot be executed ({s} does not support spawning a child process):\n{s}", .{ |
| 5546 | @tagName(builtin.os.tag), cmd, | |
| 5547 | @tagName(native_os), cmd, | |
| 5547 | 5548 | }); |
| 5548 | 5549 | } |
| 5549 | 5550 | |
| ... | ... | @@ -5655,7 +5656,7 @@ pub fn lldMain( |
| 5655 | 5656 | var count: usize = 0; |
| 5656 | 5657 | }; |
| 5657 | 5658 | if (CallCounter.count == 1) { // Issue the warning on the first repeat call |
| 5658 | warn("invoking LLD for the second time within the same process because the host OS ({s}) does not support spawning child processes. This sometimes activates LLD bugs", .{@tagName(builtin.os.tag)}); | |
| 5659 | warn("invoking LLD for the second time within the same process because the host OS ({s}) does not support spawning child processes. This sometimes activates LLD bugs", .{@tagName(native_os)}); | |
| 5659 | 5660 | } |
| 5660 | 5661 | CallCounter.count += 1; |
| 5661 | 5662 | |
| ... | ... | @@ -5985,7 +5986,7 @@ fn parseCodeModel(arg: []const u8) std.builtin.CodeModel { |
| 5985 | 5986 | /// garbage collector to run concurrently to zig processes, and to allow multiple |
| 5986 | 5987 | /// zig processes to run concurrently with each other, without clobbering each other. |
| 5987 | 5988 | fn gimmeMoreOfThoseSweetSweetFileDescriptors() void { |
| 5988 | const have_rlimit = switch (builtin.os.tag) { | |
| 5989 | const have_rlimit = switch (native_os) { | |
| 5989 | 5990 | .windows, .wasi => false, |
| 5990 | 5991 | else => true, |
| 5991 | 5992 | }; |
| ... | ... | @@ -5993,13 +5994,13 @@ fn gimmeMoreOfThoseSweetSweetFileDescriptors() void { |
| 5993 | 5994 | const posix = std.posix; |
| 5994 | 5995 | |
| 5995 | 5996 | var lim = posix.getrlimit(.NOFILE) catch return; // Oh well; we tried. |
| 5996 | if (comptime builtin.target.isDarwin()) { | |
| 5997 | if (native_os.isDarwin()) { | |
| 5997 | 5998 | // On Darwin, `NOFILE` is bounded by a hardcoded value `OPEN_MAX`. |
| 5998 | 5999 | // According to the man pages for setrlimit(): |
| 5999 | 6000 | // setrlimit() now returns with errno set to EINVAL in places that historically succeeded. |
| 6000 | 6001 | // It no longer accepts "rlim_cur = RLIM.INFINITY" for RLIM.NOFILE. |
| 6001 | 6002 | // Use "rlim_cur = min(OPEN_MAX, rlim_max)". |
| 6002 | lim.max = @min(std.os.darwin.OPEN_MAX, lim.max); | |
| 6003 | lim.max = @min(std.c.OPEN_MAX, lim.max); | |
| 6003 | 6004 | } |
| 6004 | 6005 | if (lim.cur == lim.max) return; |
| 6005 | 6006 | |
| ... | ... | @@ -6770,7 +6771,7 @@ fn cmdFetch( |
| 6770 | 6771 | args: []const []const u8, |
| 6771 | 6772 | ) !void { |
| 6772 | 6773 | const color: Color = .auto; |
| 6773 | const work_around_btrfs_bug = builtin.os.tag == .linux and | |
| 6774 | const work_around_btrfs_bug = native_os == .linux and | |
| 6774 | 6775 | EnvVar.ZIG_BTRFS_WORKAROUND.isSet(); |
| 6775 | 6776 | var opt_path_or_url: ?[]const u8 = null; |
| 6776 | 6777 | var override_global_cache_dir: ?[]const u8 = try EnvVar.ZIG_GLOBAL_CACHE_DIR.get(arena); |
test/cases/arithmetic_operations.0.zig+1-1| ... | ... | @@ -8,7 +8,7 @@ pub fn main() void { |
| 8 | 8 | fn print(a: u32, b: u32) void { |
| 9 | 9 | const str = "123456789"; |
| 10 | 10 | const len = a + b; |
| 11 | _ = std.os.write(1, str[0..len]) catch {}; | |
| 11 | _ = std.posix.write(1, str[0..len]) catch {}; | |
| 12 | 12 | } |
| 13 | 13 | |
| 14 | 14 | // run |
test/cases/arithmetic_operations.1.zig+1-1| ... | ... | @@ -8,7 +8,7 @@ pub fn main() void { |
| 8 | 8 | fn print(a: u32, b: u32) void { |
| 9 | 9 | const str = "123456789"; |
| 10 | 10 | const len = a - b; |
| 11 | _ = std.os.write(1, str[0..len]) catch {}; | |
| 11 | _ = std.posix.write(1, str[0..len]) catch {}; | |
| 12 | 12 | } |
| 13 | 13 | |
| 14 | 14 | // run |
test/cases/arithmetic_operations.2.zig+1-1| ... | ... | @@ -8,7 +8,7 @@ pub fn main() void { |
| 8 | 8 | fn print(a: u32, b: u32) void { |
| 9 | 9 | const str = "123456789"; |
| 10 | 10 | const len = a & b; |
| 11 | _ = std.os.write(1, str[0..len]) catch {}; | |
| 11 | _ = std.posix.write(1, str[0..len]) catch {}; | |
| 12 | 12 | } |
| 13 | 13 | |
| 14 | 14 | // run |
test/cases/arithmetic_operations.3.zig+1-1| ... | ... | @@ -8,7 +8,7 @@ pub fn main() void { |
| 8 | 8 | fn print(a: u32, b: u32) void { |
| 9 | 9 | const str = "123456789"; |
| 10 | 10 | const len = a | b; |
| 11 | _ = std.os.write(1, str[0..len]) catch {}; | |
| 11 | _ = std.posix.write(1, str[0..len]) catch {}; | |
| 12 | 12 | } |
| 13 | 13 | |
| 14 | 14 | // run |
test/cases/arithmetic_operations.4.zig+1-1| ... | ... | @@ -8,7 +8,7 @@ pub fn main() void { |
| 8 | 8 | fn print(a: u32, b: u32) void { |
| 9 | 9 | const str = "123456789"; |
| 10 | 10 | const len = a ^ b; |
| 11 | _ = std.os.write(1, str[0..len]) catch {}; | |
| 11 | _ = std.posix.write(1, str[0..len]) catch {}; | |
| 12 | 12 | } |
| 13 | 13 | |
| 14 | 14 | // run |
test/cases/errors.0.zig+1-1| ... | ... | @@ -7,7 +7,7 @@ pub fn main() void { |
| 7 | 7 | fn foo() anyerror!void {} |
| 8 | 8 | |
| 9 | 9 | fn print() void { |
| 10 | _ = std.os.write(1, "Hello, World!\n") catch {}; | |
| 10 | _ = std.posix.write(1, "Hello, World!\n") catch {}; | |
| 11 | 11 | } |
| 12 | 12 | |
| 13 | 13 | // run |
test/cases/errors.1.zig+1-1| ... | ... | @@ -9,7 +9,7 @@ fn foo() anyerror!void { |
| 9 | 9 | } |
| 10 | 10 | |
| 11 | 11 | fn print() void { |
| 12 | _ = std.os.write(1, "Hello, World!\n") catch {}; | |
| 12 | _ = std.posix.write(1, "Hello, World!\n") catch {}; | |
| 13 | 13 | } |
| 14 | 14 | |
| 15 | 15 | // run |
test/cases/function_pointers.zig+2-2| ... | ... | @@ -12,11 +12,11 @@ pub fn main() void { |
| 12 | 12 | } |
| 13 | 13 | |
| 14 | 14 | fn stopSayingThat() void { |
| 15 | _ = std.os.write(1, "Hello, my name is Inigo Montoya; you killed my father, prepare to die.\n") catch {}; | |
| 15 | _ = std.posix.write(1, "Hello, my name is Inigo Montoya; you killed my father, prepare to die.\n") catch {}; | |
| 16 | 16 | } |
| 17 | 17 | |
| 18 | 18 | fn moveEveryZig() void { |
| 19 | _ = std.os.write(1, "All your codebase are belong to us\n") catch {}; | |
| 19 | _ = std.posix.write(1, "All your codebase are belong to us\n") catch {}; | |
| 20 | 20 | } |
| 21 | 21 | |
| 22 | 22 | // run |
test/cases/parameters_and_return_values.0.zig+1-1| ... | ... | @@ -10,7 +10,7 @@ fn id(x: u32) u32 { |
| 10 | 10 | |
| 11 | 11 | fn print(len: u32) void { |
| 12 | 12 | const str = "Hello, World!\n"; |
| 13 | _ = std.os.write(1, str[0..len]) catch {}; | |
| 13 | _ = std.posix.write(1, str[0..len]) catch {}; | |
| 14 | 14 | } |
| 15 | 15 | |
| 16 | 16 | // run |
test/cases/print_u32s.zig+2-2| ... | ... | @@ -12,10 +12,10 @@ fn printNumberHex(x: u32) void { |
| 12 | 12 | var i: u5 = 28; |
| 13 | 13 | while (true) : (i -= 4) { |
| 14 | 14 | const digit = (x >> i) & 0xf; |
| 15 | _ = std.os.write(1, &.{digit_chars[digit]}) catch {}; | |
| 15 | _ = std.posix.write(1, &.{digit_chars[digit]}) catch {}; | |
| 16 | 16 | if (i == 0) break; |
| 17 | 17 | } |
| 18 | _ = std.os.write(1, "\n") catch {}; | |
| 18 | _ = std.posix.write(1, "\n") catch {}; | |
| 19 | 19 | } |
| 20 | 20 | |
| 21 | 21 | // run |
test/cases/safety/resuming a non-suspended function which has been suspended and resumed.zig	+3-3| ... | ... | @@ -11,21 +11,21 @@ fn foo() void { |
| 11 | 11 | } |
| 12 | 12 | var f = async bar(@frame()); |
| 13 | 13 | _ = &f; |
| 14 | std.os.exit(1); | |
| 14 | std.process.exit(1); | |
| 15 | 15 | } |
| 16 | 16 | |
| 17 | 17 | fn bar(frame: anyframe) void { |
| 18 | 18 | suspend { |
| 19 | 19 | resume frame; |
| 20 | 20 | } |
| 21 | std.os.exit(1); | |
| 21 | std.process.exit(1); | |
| 22 | 22 | } |
| 23 | 23 | |
| 24 | 24 | var global_frame: anyframe = undefined; |
| 25 | 25 | pub fn main() !void { |
| 26 | 26 | _ = async foo(); |
| 27 | 27 | resume global_frame; |
| 28 | std.os.exit(1); | |
| 28 | std.process.exit(1); | |
| 29 | 29 | } |
| 30 | 30 | // run |
| 31 | 31 | // backend=stage1 |
test/cases/safety/resuming a non-suspended function which never been suspended.zig	+2-2| ... | ... | @@ -8,14 +8,14 @@ pub fn panic(message: []const u8, stack_trace: ?*std.builtin.StackTrace, _: ?usi |
| 8 | 8 | fn foo() void { |
| 9 | 9 | var f = async bar(@frame()); |
| 10 | 10 | _ = &f; |
| 11 | std.os.exit(1); | |
| 11 | std.process.exit(1); | |
| 12 | 12 | } |
| 13 | 13 | |
| 14 | 14 | fn bar(frame: anyframe) void { |
| 15 | 15 | suspend { |
| 16 | 16 | resume frame; |
| 17 | 17 | } |
| 18 | std.os.exit(1); | |
| 18 | std.process.exit(1); | |
| 19 | 19 | } |
| 20 | 20 | |
| 21 | 21 | pub fn main() !void { |
test/link/glibc_compat/glibc_runtime_check.zig+2-2| ... | ... | @@ -30,11 +30,11 @@ fn checkStat() !void { |
| 30 | 30 | var stat = std.mem.zeroes(std.c.Stat); |
| 31 | 31 | var result = std.c.fstatat(cwdFd, "a_file_that_definitely_does_not_exist", &stat, 0); |
| 32 | 32 | assert(result == -1); |
| 33 | assert(std.c.getErrno(result) == .NOENT); | |
| 33 | assert(std.posix.errno(result) == .NOENT); | |
| 34 | 34 | |
| 35 | 35 | result = std.c.stat("a_file_that_definitely_does_not_exist", &stat); |
| 36 | 36 | assert(result == -1); |
| 37 | assert(std.c.getErrno(result) == .NOENT); | |
| 37 | assert(std.posix.errno(result) == .NOENT); | |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | // PR #17607 - reallocarray not visible in headers |
test/standalone/sigpipe/breakpipe.zig+7-9| ... | ... | @@ -1,19 +1,17 @@ |
| 1 | 1 | const std = @import("std"); |
| 2 | 2 | const build_options = @import("build_options"); |
| 3 | 3 | |
| 4 | pub usingnamespace if (build_options.keep_sigpipe) struct { | |
| 5 | pub const std_options = .{ | |
| 6 | .keep_sigpipe = true, | |
| 7 | }; | |
| 8 | } else struct {}; | |
| 4 | pub const std_options = .{ | |
| 5 | .keep_sigpipe = build_options.keep_sigpipe, | |
| 6 | }; | |
| 9 | 7 | |
| 10 | 8 | pub fn main() !void { |
| 11 | const pipe = try std.os.pipe(); | |
| 12 | std.os.close(pipe[0]); | |
| 13 | _ = std.os.write(pipe[1], "a") catch |err| switch (err) { | |
| 9 | const pipe = try std.posix.pipe(); | |
| 10 | std.posix.close(pipe[0]); | |
| 11 | _ = std.posix.write(pipe[1], "a") catch |err| switch (err) { | |
| 14 | 12 | error.BrokenPipe => { |
| 15 | 13 | try std.io.getStdOut().writer().writeAll("BrokenPipe\n"); |
| 16 | std.os.exit(123); | |
| 14 | std.posix.exit(123); | |
| 17 | 15 | }, |
| 18 | 16 | else => |e| return e, |
| 19 | 17 | }; |
test/standalone/sigpipe/build.zig+6-6| ... | ... | @@ -1,5 +1,5 @@ |
| 1 | 1 | const std = @import("std"); |
| 2 | const os = std.os; | |
| 2 | const posix = std.posix; | |
| 3 | 3 | |
| 4 | 4 | pub fn build(b: *std.build.Builder) !void { |
| 5 | 5 | const test_step = b.step("test", "Test it"); |
| ... | ... | @@ -16,12 +16,12 @@ pub fn build(b: *std.build.Builder) !void { |
| 16 | 16 | // This test runs "breakpipe" as a child process and that process |
| 17 | 17 | // depends on inheriting a SIGPIPE disposition of "default". |
| 18 | 18 | { |
| 19 | const act = os.Sigaction{ | |
| 20 | .handler = .{ .handler = os.SIG.DFL }, | |
| 21 | .mask = os.empty_sigset, | |
| 19 | const act = posix.Sigaction{ | |
| 20 | .handler = .{ .handler = posix.SIG.DFL }, | |
| 21 | .mask = posix.empty_sigset, | |
| 22 | 22 | .flags = 0, |
| 23 | 23 | }; |
| 24 | try os.sigaction(os.SIG.PIPE, &act, null); | |
| 24 | try posix.sigaction(posix.SIG.PIPE, &act, null); | |
| 25 | 25 | } |
| 26 | 26 | |
| 27 | 27 | for ([_]bool{ false, true }) |keep_sigpipe| { |
| ... | ... | @@ -34,7 +34,7 @@ pub fn build(b: *std.build.Builder) !void { |
| 34 | 34 | exe.addOptions("build_options", options); |
| 35 | 35 | const run = b.addRunArtifact(exe); |
| 36 | 36 | if (keep_sigpipe) { |
| 37 | run.addCheck(.{ .expect_term = .{ .Signal = std.os.SIG.PIPE } }); | |
| 37 | run.addCheck(.{ .expect_term = .{ .Signal = std.posix.SIG.PIPE } }); | |
| 38 | 38 | } else { |
| 39 | 39 | run.addCheck(.{ .expect_stdout_exact = "BrokenPipe\n" }); |
| 40 | 40 | run.addCheck(.{ .expect_term = .{ .Exited = 123 } }); |
test/standalone/windows_spawn/main.zig+4-4| ... | ... | @@ -25,13 +25,13 @@ pub fn main() anyerror!void { |
| 25 | 25 | defer allocator.free(tmp_relative_path); |
| 26 | 26 | |
| 27 | 27 | // Clear PATH |
| 28 | std.debug.assert(std.os.windows.kernel32.SetEnvironmentVariableW( | |
| 28 | std.debug.assert(windows.kernel32.SetEnvironmentVariableW( | |
| 29 | 29 | utf16Literal("PATH"), |
| 30 | 30 | null, |
| 31 | 31 | ) == windows.TRUE); |
| 32 | 32 | |
| 33 | 33 | // Set PATHEXT to something predictable |
| 34 | std.debug.assert(std.os.windows.kernel32.SetEnvironmentVariableW( | |
| 34 | std.debug.assert(windows.kernel32.SetEnvironmentVariableW( | |
| 35 | 35 | utf16Literal("PATHEXT"), |
| 36 | 36 | utf16Literal(".COM;.EXE;.BAT;.CMD;.JS"), |
| 37 | 37 | ) == windows.TRUE); |
| ... | ... | @@ -39,7 +39,7 @@ pub fn main() anyerror!void { |
| 39 | 39 | // No PATH, so it should fail to find anything not in the cwd |
| 40 | 40 | try testExecError(error.FileNotFound, allocator, "something_missing"); |
| 41 | 41 | |
| 42 | std.debug.assert(std.os.windows.kernel32.SetEnvironmentVariableW( | |
| 42 | std.debug.assert(windows.kernel32.SetEnvironmentVariableW( | |
| 43 | 43 | utf16Literal("PATH"), |
| 44 | 44 | tmp_absolute_path_w, |
| 45 | 45 | ) == windows.TRUE); |
| ... | ... | @@ -120,7 +120,7 @@ pub fn main() anyerror!void { |
| 120 | 120 | const something_subdir_abs_path = try std.mem.concatWithSentinel(allocator, u16, &.{ tmp_absolute_path_w, utf16Literal("\\something") }, 0); |
| 121 | 121 | defer allocator.free(something_subdir_abs_path); |
| 122 | 122 | |
| 123 | std.debug.assert(std.os.windows.kernel32.SetEnvironmentVariableW( | |
| 123 | std.debug.assert(windows.kernel32.SetEnvironmentVariableW( | |
| 124 | 124 | utf16Literal("PATH"), |
| 125 | 125 | something_subdir_abs_path, |
| 126 | 126 | ) == windows.TRUE); |