mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
std.Child: start_suspended ported to posix
This commit is contained in:
parent
5c0309a9e5
commit
f4159eff92
@ -85,8 +85,8 @@ expand_arg0: Arg0Expand,
|
||||
/// Darwin-only. Disable ASLR for the child process.
|
||||
disable_aslr: bool = false,
|
||||
|
||||
/// Darwin and Windows only. Start child process in suspended state. For Darwin it's started
|
||||
/// as if SIGSTOP was sent.
|
||||
/// Start child process in suspended state.
|
||||
/// For Posix systems it's started as if SIGSTOP was sent.
|
||||
start_suspended: bool = false,
|
||||
|
||||
/// Windows-only. Sets the CREATE_NO_WINDOW flag in CreateProcess.
|
||||
@ -669,6 +669,10 @@ fn spawnPosix(self: *ChildProcess) SpawnError!void {
|
||||
posix.setpgid(0, pid) catch |err| forkChildErrReport(err_pipe[1], err);
|
||||
}
|
||||
|
||||
if (self.start_suspended) {
|
||||
posix.kill(posix.getpid(), .STOP) catch |err| forkChildErrReport(err_pipe[1], err);
|
||||
}
|
||||
|
||||
const err = switch (self.expand_arg0) {
|
||||
.expand => posix.execvpeZ_expandArg0(.expand, argv_buf.ptr[0].?, argv_buf.ptr, envp),
|
||||
.no_expand => posix.execvpeZ_expandArg0(.no_expand, argv_buf.ptr[0].?, argv_buf.ptr, envp),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user