Index: base/process_util.h |
diff --git a/base/process_util.h b/base/process_util.h |
index b98e266a97870d7231279b6cc91c9194dfa60638..2109401e1807b55ad60caa0300bad00e94787f04 100644 |
--- a/base/process_util.h |
+++ b/base/process_util.h |
@@ -173,13 +173,18 @@ BASE_EXPORT FilePath GetProcessExecutablePath(ProcessHandle process); |
// Exposed for testing. |
BASE_EXPORT int ParseProcStatCPU(const std::string& input); |
-static const char kAdjustOOMScoreSwitch[] = "--adjust-oom-score"; |
Greg Spencer (Chromium)
2011/08/22 23:28:48
First landing failed because of an obscure problem
|
- |
-// This adjusts /proc/process/oom_adj so the Linux OOM killer will prefer |
-// certain process types over others. The range for the adjustment is |
-// [-17,15], with [0,15] being user accessible. |
+// The maximum allowed value for the OOM score. |
+const int kMaxOomScore = 1000; |
+ |
+// This adjusts /proc/<pid>/oom_score_adj so the Linux OOM killer will |
+// prefer to kill certain process types over others. The range for the |
+// adjustment is [-1000, 1000], with [0, 1000] being user accessible. |
+// If the Linux system doesn't support the newer oom_score_adj range |
+// of [0, 1000], then we revert to using the older oom_adj, and |
+// translate the given value into [0, 15]. Some aliasing of values |
+// may occur in that case, of course. |
BASE_EXPORT bool AdjustOOMScore(ProcessId process, int score); |
-#endif |
+#endif // defined(OS_LINUX) |
#if defined(OS_POSIX) |
// Returns the ID for the parent of the given process. |
@@ -189,7 +194,7 @@ BASE_EXPORT ProcessId GetParentProcessId(ProcessHandle process); |
// given multimap. Only call this function in a child process where you know |
// that there aren't any other threads. |
BASE_EXPORT void CloseSuperfluousFds(const InjectiveMultimap& saved_map); |
-#endif |
+#endif // defined(OS_POSIX) |
// TODO(evan): rename these to use StudlyCaps. |
typedef std::vector<std::pair<std::string, std::string> > environment_vector; |
@@ -205,7 +210,7 @@ struct LaunchOptions { |
#else |
environ(NULL), fds_to_remap(NULL), new_process_group(false), |
clone_flags(0) |
-#endif |
+#endif // !defined(OS_WIN) |
{} |
// If true, wait for the process to complete. |
@@ -248,7 +253,7 @@ struct LaunchOptions { |
// If non-zero, start the process using clone(), using flags as provided. |
int clone_flags; |
-#endif |
+#endif // !defined(OS_WIN) |
}; |
// Launch a process via the command line |cmdline|. |
@@ -335,7 +340,7 @@ BASE_EXPORT bool GetAppOutputRestricted(const CommandLine& cl, |
// |*exit_code|. |
BASE_EXPORT bool GetAppOutputWithExitCode(const CommandLine& cl, |
std::string* output, int* exit_code); |
-#endif |
+#endif // defined(OS_POSIX) |
// Used to filter processes by process ID. |
class ProcessFilter { |
@@ -372,12 +377,12 @@ BASE_EXPORT bool KillProcess(ProcessHandle process, int exit_code, bool wait); |
// Attempts to kill the process group identified by |process_group_id|. Returns |
// true on success. |
BASE_EXPORT bool KillProcessGroup(ProcessHandle process_group_id); |
-#endif |
+#endif // defined(OS_POSIX) |
#if defined(OS_WIN) |
BASE_EXPORT bool KillProcessById(ProcessId process_id, int exit_code, |
bool wait); |
-#endif |
+#endif // defined(OS_WIN) |
// Get the termination status of the process by interpreting the |
// circumstances of the child process' death. |exit_code| is set to |
@@ -632,7 +637,7 @@ class BASE_EXPORT ProcessMetrics { |
explicit ProcessMetrics(ProcessHandle process); |
#else |
ProcessMetrics(ProcessHandle process, PortProvider* port_provider); |
-#endif // !defined(OS_MACOSX) |
+#endif // defined(OS_MACOSX) |
ProcessHandle process_; |
@@ -651,7 +656,7 @@ class BASE_EXPORT ProcessMetrics { |
#elif defined(OS_POSIX) |
// Jiffie count at the last_time_ we updated. |
int last_cpu_; |
-#endif // defined(OS_MACOSX) |
+#endif // defined(OS_POSIX) |
DISALLOW_COPY_AND_ASSIGN(ProcessMetrics); |
}; |
@@ -674,7 +679,7 @@ struct SystemMemoryInfoKB { |
// Fills in the provided |meminfo| structure. Returns true on success. |
// Exposed for memory debugging widget. |
BASE_EXPORT bool GetSystemMemoryInfo(SystemMemoryInfoKB* meminfo); |
-#endif |
+#endif // defined(OS_LINUX) |
// Returns the memory committed by the system in KBytes. |
// Returns 0 if it can't compute the commit charge. |
@@ -699,8 +704,8 @@ BASE_EXPORT void EnableTerminationOnOutOfMemory(); |
#if defined(OS_MACOSX) |
// Exposed for testing. |
BASE_EXPORT malloc_zone_t* GetPurgeableZone(); |
-#endif |
-#endif |
+#endif // defined(OS_MACOSX) |
+#endif // !defined(OS_WIN) |
// Enables stack dump to console output on exception and signals. |
// When enabled, the process will quit immediately. This is meant to be used in |