From 7ddf41c7b10e46c231180cecbbb5e78e0dd12ff8 Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Wed, 2 Mar 2022 11:48:50 -0800 Subject: [PATCH] Remove redundant code for handling NULL handles on Windows. Before calling `CreateProcessW`, stdio handles are passed through `stdio::get_handle`, which already converts NULL to `INVALID_HANDLE_VALUE`, so we don't need extra checks for NULL after that point. --- library/std/src/sys/windows/process.rs | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/library/std/src/sys/windows/process.rs b/library/std/src/sys/windows/process.rs index ec53c46cd7b4e..fafd1412d4cb3 100644 --- a/library/std/src/sys/windows/process.rs +++ b/library/std/src/sys/windows/process.rs @@ -309,19 +309,6 @@ impl Command { si.hStdOutput = stdout.as_raw_handle(); si.hStdError = stderr.as_raw_handle(); - // `CreateProcessW` fails with `ERROR_FILE_NOT_FOUND` if any of the - // stdio handles are null, so if we have null handles, set them to - // `INVALID_HANDLE_VALUE`. - if si.hStdInput.is_null() { - si.hStdInput = c::INVALID_HANDLE_VALUE; - } - if si.hStdOutput.is_null() { - si.hStdOutput = c::INVALID_HANDLE_VALUE; - } - if si.hStdError.is_null() { - si.hStdError = c::INVALID_HANDLE_VALUE; - } - let program = to_u16s(&program)?; unsafe { cvt(c::CreateProcessW(