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

Side by Side Diff: base/process.h

Issue 495002: Changes to base/ from a combination of FreeBSD and OpenBSD patches. (Closed)
Patch Set: minor tweaks Created 11 years 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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 #ifndef BASE_PROCESS_H_ 5 #ifndef BASE_PROCESS_H_
6 #define BASE_PROCESS_H_ 6 #define BASE_PROCESS_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "build/build_config.h" 9 #include "build/build_config.h"
10 10
(...skipping 11 matching lines...) Expand all
22 typedef HANDLE ProcessHandle; 22 typedef HANDLE ProcessHandle;
23 typedef DWORD ProcessId; 23 typedef DWORD ProcessId;
24 const ProcessHandle kNullProcessHandle = NULL; 24 const ProcessHandle kNullProcessHandle = NULL;
25 #elif defined(OS_POSIX) 25 #elif defined(OS_POSIX)
26 // On POSIX, our ProcessHandle will just be the PID. 26 // On POSIX, our ProcessHandle will just be the PID.
27 typedef pid_t ProcessHandle; 27 typedef pid_t ProcessHandle;
28 typedef pid_t ProcessId; 28 typedef pid_t ProcessId;
29 const ProcessHandle kNullProcessHandle = 0; 29 const ProcessHandle kNullProcessHandle = 0;
30 #endif 30 #endif
31 31
32 #if defined(OS_LINUX) 32 #if defined(OS_POSIX) && !defined(OS_MACOSX)
33 // saved_priority_ will be set to this to indicate that it's not holding 33 // saved_priority_ will be set to this to indicate that it's not holding
34 // a valid value. -20 to 19 are valid process priorities. 34 // a valid value. -20 to 19 are valid process priorities.
35 const int kUnsetProcessPriority = 256; 35 const int kUnsetProcessPriority = 256;
36 #endif 36 #endif
37 37
38 class Process { 38 class Process {
39 public: 39 public:
40 Process() : process_(kNullProcessHandle) { 40 Process() : process_(kNullProcessHandle) {
41 #if defined(OS_LINUX) 41 #if defined(OS_POSIX) && !defined(OS_MACOSX)
42 saved_priority_ = kUnsetProcessPriority; 42 saved_priority_ = kUnsetProcessPriority;
43 #endif 43 #endif
44 } 44 }
45 45
46 explicit Process(ProcessHandle handle) : process_(handle) { 46 explicit Process(ProcessHandle handle) : process_(handle) {
47 #if defined(OS_LINUX) 47 #if defined(OS_POSIX) && !defined(OS_MACOSX)
48 saved_priority_ = kUnsetProcessPriority; 48 saved_priority_ = kUnsetProcessPriority;
49 #endif 49 #endif
50 } 50 }
51 51
52 // A handle to the current process. 52 // A handle to the current process.
53 static Process Current(); 53 static Process Current();
54 54
55 // Get/Set the handle for this process. The handle will be 0 if the process 55 // Get/Set the handle for this process. The handle will be 0 if the process
56 // is no longer running. 56 // is no longer running.
57 ProcessHandle handle() const { return process_; } 57 ProcessHandle handle() const { return process_; }
58 void set_handle(ProcessHandle handle) { 58 void set_handle(ProcessHandle handle) {
59 process_ = handle; 59 process_ = handle;
60 #if defined(OS_LINUX) 60 #if defined(OS_POSIX) && !defined(OS_MACOSX)
61 saved_priority_ = kUnsetProcessPriority; 61 saved_priority_ = kUnsetProcessPriority;
62 #endif 62 #endif
63 } 63 }
64 64
65 // Get the PID for this process. 65 // Get the PID for this process.
66 ProcessId pid() const; 66 ProcessId pid() const;
67 67
68 // Is the this process the current process. 68 // Is the this process the current process.
69 bool is_current() const; 69 bool is_current() const;
70 70
(...skipping 15 matching lines...) Expand all
86 // process priority. 86 // process priority.
87 // Returns true if the priority was changed, false otherwise. 87 // Returns true if the priority was changed, false otherwise.
88 bool SetProcessBackgrounded(bool value); 88 bool SetProcessBackgrounded(bool value);
89 89
90 // Returns an integer representing the priority of a process. The meaning 90 // Returns an integer representing the priority of a process. The meaning
91 // of this value is OS dependent. 91 // of this value is OS dependent.
92 int GetPriority() const; 92 int GetPriority() const;
93 93
94 private: 94 private:
95 ProcessHandle process_; 95 ProcessHandle process_;
96 #if defined(OS_LINUX) 96 #if defined(OS_POSIX) && !defined(OS_MACOSX)
97 // Holds the priority that the process was set to when it was backgrounded. 97 // Holds the priority that the process was set to when it was backgrounded.
98 // If the process wasn't backgrounded it will be kUnsetProcessPriority. 98 // If the process wasn't backgrounded it will be kUnsetProcessPriority.
99 int saved_priority_; 99 int saved_priority_;
100 #endif 100 #endif
101 }; 101 };
102 102
103 } // namespace base 103 } // namespace base
104 104
105 #endif // BASE_PROCESS_H_ 105 #endif // BASE_PROCESS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698