• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "base/process/process_handle.h"
6 
7 #include <unistd.h>
8 
9 namespace base {
10 
GetCurrentProcId()11 ProcessId GetCurrentProcId() {
12   return getpid();
13 }
14 
GetCurrentProcessHandle()15 ProcessHandle GetCurrentProcessHandle() {
16   return GetCurrentProcId();
17 }
18 
OpenProcessHandle(ProcessId pid,ProcessHandle * handle)19 bool OpenProcessHandle(ProcessId pid, ProcessHandle* handle) {
20   // On Posix platforms, process handles are the same as PIDs, so we
21   // don't need to do anything.
22   *handle = pid;
23   return true;
24 }
25 
OpenPrivilegedProcessHandle(ProcessId pid,ProcessHandle * handle)26 bool OpenPrivilegedProcessHandle(ProcessId pid, ProcessHandle* handle) {
27   // On POSIX permissions are checked for each operation on process,
28   // not when opening a "handle".
29   return OpenProcessHandle(pid, handle);
30 }
31 
OpenProcessHandleWithAccess(ProcessId pid,uint32 access_flags,ProcessHandle * handle)32 bool OpenProcessHandleWithAccess(ProcessId pid,
33                                  uint32 access_flags,
34                                  ProcessHandle* handle) {
35   // On POSIX permissions are checked for each operation on process,
36   // not when opening a "handle".
37   return OpenProcessHandle(pid, handle);
38 }
39 
CloseProcessHandle(ProcessHandle process)40 void CloseProcessHandle(ProcessHandle process) {
41   // See OpenProcessHandle, nothing to do.
42   return;
43 }
44 
GetProcId(ProcessHandle process)45 ProcessId GetProcId(ProcessHandle process) {
46   return process;
47 }
48 
49 }  // namespace base
50