Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(294)

Side by Side Diff: base/process/kill.h

Issue 58203002: Android: remove ContentViewCore from the renderer crash codepath. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 // This file contains routines to kill processes and get the exit code and 5 // This file contains routines to kill processes and get the exit code and
6 // termination status. 6 // termination status.
7 7
8 #ifndef BASE_PROCESS_KILL_H_ 8 #ifndef BASE_PROCESS_KILL_H_
9 #define BASE_PROCESS_KILL_H_ 9 #define BASE_PROCESS_KILL_H_
10 10
11 #include "base/files/file_path.h" 11 #include "base/files/file_path.h"
12 #include "base/process/process_handle.h" 12 #include "base/process/process_handle.h"
13 #include "base/time/time.h" 13 #include "base/time/time.h"
14 14
15 namespace base { 15 namespace base {
16 16
17 class ProcessFilter; 17 class ProcessFilter;
18 18
19 // Return status values from GetTerminationStatus. Don't use these as 19 // Return status values from GetTerminationStatus. Don't use these as
20 // exit code arguments to KillProcess*(), use platform/application 20 // exit code arguments to KillProcess*(), use platform/application
21 // specific values instead. 21 // specific values instead.
22 enum TerminationStatus { 22 enum TerminationStatus {
23 TERMINATION_STATUS_NORMAL_TERMINATION, // zero exit status 23 TERMINATION_STATUS_NORMAL_TERMINATION, // zero exit status
24 TERMINATION_STATUS_ABNORMAL_TERMINATION, // non-zero exit status 24 TERMINATION_STATUS_ABNORMAL_TERMINATION, // non-zero exit status
25 TERMINATION_STATUS_PROCESS_WAS_KILLED, // e.g. SIGKILL or task manager kill 25 TERMINATION_STATUS_PROCESS_WAS_KILLED, // e.g. SIGKILL or task manager kill
26 TERMINATION_STATUS_PROCESS_CRASHED, // e.g. Segmentation fault 26 TERMINATION_STATUS_PROCESS_CRASHED, // e.g. Segmentation fault
27 TERMINATION_STATUS_STILL_RUNNING, // child hasn't exited yet 27 TERMINATION_STATUS_STILL_RUNNING, // child hasn't exited yet
28 #if defined(OS_ANDROID)
29 // On Android processes are spawned from the system Zygote and we do not get
30 // the termination status. We can't know if the termination was a crash or an
31 // oom kill for sure, but we can use status of the strong process bindings as
32 // a hint.
33 TERMINATION_STATUS_OOM_PROTECTED, // child was protected from oom kill
34 #endif
28 TERMINATION_STATUS_MAX_ENUM 35 TERMINATION_STATUS_MAX_ENUM
29 }; 36 };
30 37
31 // Attempts to kill all the processes on the current machine that were launched 38 // Attempts to kill all the processes on the current machine that were launched
32 // from the given executable name, ending them with the given exit code. If 39 // from the given executable name, ending them with the given exit code. If
33 // filter is non-null, then only processes selected by the filter are killed. 40 // filter is non-null, then only processes selected by the filter are killed.
34 // Returns true if all processes were able to be killed off, false if at least 41 // Returns true if all processes were able to be killed off, false if at least
35 // one couldn't be killed. 42 // one couldn't be killed.
36 BASE_EXPORT bool KillProcesses(const FilePath::StringType& executable_name, 43 BASE_EXPORT bool KillProcesses(const FilePath::StringType& executable_name,
37 int exit_code, 44 int exit_code,
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 153
147 #if defined(OS_POSIX) && !defined(OS_MACOSX) 154 #if defined(OS_POSIX) && !defined(OS_MACOSX)
148 // The nicer version of EnsureProcessTerminated() that is patient and will 155 // The nicer version of EnsureProcessTerminated() that is patient and will
149 // wait for |process_handle| to finish and then reap it. 156 // wait for |process_handle| to finish and then reap it.
150 BASE_EXPORT void EnsureProcessGetsReaped(ProcessHandle process_handle); 157 BASE_EXPORT void EnsureProcessGetsReaped(ProcessHandle process_handle);
151 #endif 158 #endif
152 159
153 } // namespace base 160 } // namespace base
154 161
155 #endif // BASE_PROCESS_KILL_H_ 162 #endif // BASE_PROCESS_KILL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698