Function killWindows [src]

Prototype

pub fn killWindows(self: *ChildProcess, exit_code: windows.UINT) !Term

Parameters

self: *ChildProcessexit_code: windows.UINT

Source

pub fn killWindows(self: *ChildProcess, exit_code: windows.UINT) !Term { if (self.term) |term| { self.cleanupStreams(); return term; } windows.TerminateProcess(self.id, exit_code) catch |err| switch (err) { error.AccessDenied => { // Usually when TerminateProcess triggers a ACCESS_DENIED error, it // indicates that the process has already exited, but there may be // some rare edge cases where our process handle no longer has the // PROCESS_TERMINATE access right, so let's do another check to make // sure the process is really no longer running: windows.WaitForSingleObjectEx(self.id, 0, false) catch return err; return error.AlreadyTerminated; }, else => return err, }; try self.waitUnwrappedWindows(); return self.term.?; }