diff --git a/river/Output.zig b/river/Output.zig index 21ecfb2..d19c8ec 100644 --- a/river/Output.zig +++ b/river/Output.zig @@ -242,8 +242,8 @@ fn layoutExternal(self: *Self, visible_count: u32) !void { defer stdout.close(); // TODO abort after a timeout - const status = std.os.waitpid(pid, 0); - if (!std.os.WIFEXITED(status) or std.os.WEXITSTATUS(status) != 0) + const ret = std.os.waitpid(pid, 0); + if (!std.os.WIFEXITED(ret.status) or std.os.WEXITSTATUS(ret.status) != 0) return LayoutError.BadExitCode; const buffer = try stdout.inStream().readAllAlloc(&arena.allocator, 1024); diff --git a/river/command/spawn.zig b/river/command/spawn.zig index 8e1bdfe..101e377 100644 --- a/river/command/spawn.zig +++ b/river/command/spawn.zig @@ -55,9 +55,9 @@ pub fn spawn( } // Wait the intermediate child. - const status = std.os.waitpid(pid, 0); - if (!std.os.WIFEXITED(status) or - (std.os.WIFEXITED(status) and std.os.WEXITSTATUS(status) != 0)) + const ret = std.os.waitpid(pid, 0); + if (!std.os.WIFEXITED(ret.status) or + (std.os.WIFEXITED(ret.status) and std.os.WEXITSTATUS(ret.status) != 0)) { out.* = try std.fmt.allocPrint(allocator, "fork/execve failed", .{}); return Error.Other;