Index: tools/gn/function_exec_script.cc |
diff --git a/tools/gn/function_exec_script.cc b/tools/gn/function_exec_script.cc |
index b3825751054048c30c39bed35aae2fa8981b18b3..cca62a36f37a26c604ba65f634bb3580e03e1e94 100644 |
--- a/tools/gn/function_exec_script.cc |
+++ b/tools/gn/function_exec_script.cc |
@@ -85,8 +85,7 @@ bool ExecProcess(const CommandLine& cmdline, |
base::FilePath::StringType cmdline_str(cmdline.GetCommandLineString()); |
- base::win::ScopedProcessInformation proc_info; |
- STARTUPINFO start_info = { 0 }; |
+ STARTUPINFO start_info = {}; |
start_info.cb = sizeof(STARTUPINFO); |
start_info.hStdOutput = out_write; |
@@ -98,15 +97,17 @@ bool ExecProcess(const CommandLine& cmdline, |
start_info.dwFlags |= STARTF_USESTDHANDLES; |
// Create the child process. |
+ PROCESS_INFORMATION temp_process_info = {}; |
if (!CreateProcess(NULL, |
&cmdline_str[0], |
NULL, NULL, |
TRUE, // Handles are inherited. |
0, NULL, |
startup_dir.value().c_str(), |
- &start_info, proc_info.Receive())) { |
+ &start_info, &temp_process_info)) { |
return false; |
} |
+ base::win::ScopedProcessInformation proc_info(temp_process_info); |
// Close our writing end of pipes now. Otherwise later read would not be able |
// to detect end of child's output. |