OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/installer/util/google_update_util.h" | 5 #include "chrome/installer/util/google_update_util.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
9 #include "base/files/file_util.h" | 9 #include "base/files/file_util.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 // Returns false if command execution fails to execute, or times out. | 88 // Returns false if command execution fails to execute, or times out. |
89 bool LaunchProcessAndWaitWithTimeout(const base::string16& cmd_string, | 89 bool LaunchProcessAndWaitWithTimeout(const base::string16& cmd_string, |
90 base::TimeDelta timeout) { | 90 base::TimeDelta timeout) { |
91 bool success = false; | 91 bool success = false; |
92 int exit_code = 0; | 92 int exit_code = 0; |
93 VLOG(0) << "Launching: " << cmd_string; | 93 VLOG(0) << "Launching: " << cmd_string; |
94 base::Process process = | 94 base::Process process = |
95 base::LaunchProcess(cmd_string, base::LaunchOptions()); | 95 base::LaunchProcess(cmd_string, base::LaunchOptions()); |
96 if (!process.IsValid()) { | 96 if (!process.IsValid()) { |
97 PLOG(ERROR) << "Failed to launch (" << cmd_string << ")"; | 97 PLOG(ERROR) << "Failed to launch (" << cmd_string << ")"; |
98 } else if (!base::WaitForExitCodeWithTimeout(process.Handle(), &exit_code, | 98 } else if (!process.WaitForExitWithTimeout(timeout, &exit_code)) { |
99 timeout)) { | |
100 // The GetExitCodeProcess failed or timed-out. | 99 // The GetExitCodeProcess failed or timed-out. |
101 LOG(ERROR) <<"Command (" << cmd_string << ") is taking more than " | 100 LOG(ERROR) <<"Command (" << cmd_string << ") is taking more than " |
102 << timeout.InMilliseconds() << " milliseconds to complete."; | 101 << timeout.InMilliseconds() << " milliseconds to complete."; |
103 } else if (exit_code != 0) { | 102 } else if (exit_code != 0) { |
104 LOG(ERROR) << "Command (" << cmd_string << ") exited with code " | 103 LOG(ERROR) << "Command (" << cmd_string << ") exited with code " |
105 << exit_code; | 104 << exit_code; |
106 } else { | 105 } else { |
107 success = true; | 106 success = true; |
108 } | 107 } |
109 return success; | 108 return success; |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
181 | 180 |
182 if (base::win::GetVersion() >= base::win::VERSION_VISTA && | 181 if (base::win::GetVersion() >= base::win::VERSION_VISTA && |
183 base::win::UserAccountControlIsEnabled()) { | 182 base::win::UserAccountControlIsEnabled()) { |
184 base::LaunchElevatedProcess(cmd, launch_options); | 183 base::LaunchElevatedProcess(cmd, launch_options); |
185 } else { | 184 } else { |
186 base::LaunchProcess(cmd, launch_options); | 185 base::LaunchProcess(cmd, launch_options); |
187 } | 186 } |
188 } | 187 } |
189 | 188 |
190 } // namespace google_update | 189 } // namespace google_update |
OLD | NEW |