Commit fda7e0bb01
Changed files (4)
doc/langref.html.in
@@ -9012,8 +9012,8 @@ export fn add(a: i32, b: i32) void {
const std = @import("std");
pub fn main() !void {
- const args = try std.os.argsAlloc(std.heap.wasm_allocator);
- defer std.os.argsFree(std.heap.wasm_allocator, args);
+ const args = try std.process.argsAlloc(std.heap.wasm_allocator);
+ defer std.process.argsFree(std.heap.wasm_allocator, args);
for (args) |arg, i| {
std.debug.warn("{}: {}\n", i, arg);
std/os/windows.zig
@@ -83,7 +83,7 @@ pub fn CreateFileW(
pub const CreatePipeError = error{Unexpected};
-fn CreatePipe(rd: *HANDLE, wr: *HANDLE, sattr: *const SECURITY_ATTRIBUTES) CreatePipeError!void {
+pub fn CreatePipe(rd: *HANDLE, wr: *HANDLE, sattr: *const SECURITY_ATTRIBUTES) CreatePipeError!void {
if (kernel32.CreatePipe(rd, wr, sattr, 0) == 0) {
switch (kernel32.GetLastError()) {
else => |err| return unexpectedError(err),
@@ -93,8 +93,8 @@ fn CreatePipe(rd: *HANDLE, wr: *HANDLE, sattr: *const SECURITY_ATTRIBUTES) Creat
pub const SetHandleInformationError = error{Unexpected};
-fn SetHandleInformation(h: HANDLE, mask: DWORD, flags: DWORD) SetHandleInformationError!void {
- if (SetHandleInformation(h, mask, flags) == 0) {
+pub fn SetHandleInformation(h: HANDLE, mask: DWORD, flags: DWORD) SetHandleInformationError!void {
+ if (kernel32.SetHandleInformation(h, mask, flags) == 0) {
switch (kernel32.GetLastError()) {
else => |err| return unexpectedError(err),
}
@@ -335,7 +335,7 @@ pub fn CreateSymbolicLinkW(
) CreateSymbolicLinkError!void {
if (kernel32.CreateSymbolicLinkW(sym_link_path, target_path, flags) == 0) {
switch (kernel32.GetLastError()) {
- else => |err| return kernel32.unexpectedError(err),
+ else => |err| return unexpectedError(err),
}
}
}
@@ -649,7 +649,7 @@ pub fn CreateProcessW(
lpCommandLine,
lpProcessAttributes,
lpThreadAttributes,
- bInheritHandle,
+ bInheritHandles,
dwCreationFlags,
lpEnvironment,
lpCurrentDirectory,
std/child_process.zig
@@ -217,11 +217,11 @@ pub const ChildProcess = struct {
}
fn waitUnwrappedWindows(self: *ChildProcess) !void {
- const result = os.windowsWaitSingle(self.handle, windows.INFINITE);
+ const result = windows.WaitForSingleObject(self.handle, windows.INFINITE);
self.term = (SpawnError!Term)(x: {
var exit_code: windows.DWORD = undefined;
- if (windows.GetExitCodeProcess(self.handle, &exit_code) == 0) {
+ if (windows.kernel32.GetExitCodeProcess(self.handle, &exit_code) == 0) {
break :x Term{ .Unknown = 0 };
} else {
break :x Term{ .Exited = exit_code };
@@ -412,7 +412,7 @@ pub const ChildProcess = struct {
const any_ignore = (self.stdin_behavior == StdIo.Ignore or self.stdout_behavior == StdIo.Ignore or self.stderr_behavior == StdIo.Ignore);
const nul_handle = if (any_ignore) blk: {
- break :blk try os.windowsOpen("NUL", windows.GENERIC_READ, windows.FILE_SHARE_READ, windows.OPEN_EXISTING, windows.FILE_ATTRIBUTE_NORMAL);
+ break :blk try windows.CreateFile("NUL", windows.GENERIC_READ, windows.FILE_SHARE_READ, windows.OPEN_EXISTING, windows.FILE_ATTRIBUTE_NORMAL);
} else blk: {
break :blk undefined;
};
@@ -420,7 +420,7 @@ pub const ChildProcess = struct {
if (any_ignore) os.close(nul_handle);
}
if (any_ignore) {
- try windowsSetHandleInfo(nul_handle, windows.HANDLE_FLAG_INHERIT, 0);
+ try windows.SetHandleInformation(nul_handle, windows.HANDLE_FLAG_INHERIT, 0);
}
var g_hChildStd_IN_Rd: ?windows.HANDLE = null;
@@ -433,7 +433,7 @@ pub const ChildProcess = struct {
g_hChildStd_IN_Rd = nul_handle;
},
StdIo.Inherit => {
- g_hChildStd_IN_Rd = windows.GetStdHandle(windows.STD_INPUT_HANDLE);
+ g_hChildStd_IN_Rd = windows.GetStdHandle(windows.STD_INPUT_HANDLE) catch null;
},
StdIo.Close => {
g_hChildStd_IN_Rd = null;
@@ -453,7 +453,7 @@ pub const ChildProcess = struct {
g_hChildStd_OUT_Wr = nul_handle;
},
StdIo.Inherit => {
- g_hChildStd_OUT_Wr = windows.GetStdHandle(windows.STD_OUTPUT_HANDLE);
+ g_hChildStd_OUT_Wr = windows.GetStdHandle(windows.STD_OUTPUT_HANDLE) catch null;
},
StdIo.Close => {
g_hChildStd_OUT_Wr = null;
@@ -473,7 +473,7 @@ pub const ChildProcess = struct {
g_hChildStd_ERR_Wr = nul_handle;
},
StdIo.Inherit => {
- g_hChildStd_ERR_Wr = windows.GetStdHandle(windows.STD_ERROR_HANDLE);
+ g_hChildStd_ERR_Wr = windows.GetStdHandle(windows.STD_ERROR_HANDLE) catch null;
},
StdIo.Close => {
g_hChildStd_ERR_Wr = null;
@@ -681,22 +681,22 @@ fn windowsDestroyPipe(rd: ?windows.HANDLE, wr: ?windows.HANDLE) void {
if (wr) |h| os.close(h);
}
-fn windowsMakePipeIn(rd: *?windows.HANDLE, wr: *?windows.HANDLE, sattr: *const SECURITY_ATTRIBUTES) !void {
+fn windowsMakePipeIn(rd: *?windows.HANDLE, wr: *?windows.HANDLE, sattr: *const windows.SECURITY_ATTRIBUTES) !void {
var rd_h: windows.HANDLE = undefined;
var wr_h: windows.HANDLE = undefined;
try windows.CreatePipe(&rd_h, &wr_h, sattr);
errdefer windowsDestroyPipe(rd_h, wr_h);
- try windowsSetHandleInfo(wr_h, windows.HANDLE_FLAG_INHERIT, 0);
+ try windows.SetHandleInformation(wr_h, windows.HANDLE_FLAG_INHERIT, 0);
rd.* = rd_h;
wr.* = wr_h;
}
-fn windowsMakePipeOut(rd: *?windows.HANDLE, wr: *?windows.HANDLE, sattr: *const SECURITY_ATTRIBUTES) !void {
+fn windowsMakePipeOut(rd: *?windows.HANDLE, wr: *?windows.HANDLE, sattr: *const windows.SECURITY_ATTRIBUTES) !void {
var rd_h: windows.HANDLE = undefined;
var wr_h: windows.HANDLE = undefined;
try windows.CreatePipe(&rd_h, &wr_h, sattr);
errdefer windowsDestroyPipe(rd_h, wr_h);
- try windowsSetHandleInfo(rd_h, windows.HANDLE_FLAG_INHERIT, 0);
+ try windows.SetHandleInformation(rd_h, windows.HANDLE_FLAG_INHERIT, 0);
rd.* = rd_h;
wr.* = wr_h;
}
std/os.zig
@@ -893,6 +893,8 @@ const RenameError = error{
PathAlreadyExists,
ReadOnlyFileSystem,
RenameAcrossMountPoints,
+ InvalidUtf8,
+ BadPathName,
Unexpected,
};