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 11 ProcessId GetCurrentProcId() { 12 return getpid(); 13 } 14 15 ProcessHandle GetCurrentProcessHandle() { 16 return GetCurrentProcId(); 17 } 18 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 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 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 40 void CloseProcessHandle(ProcessHandle process) { 41 // See OpenProcessHandle, nothing to do. 42 return; 43 } 44 45 ProcessId GetProcId(ProcessHandle process) { 46 return process; 47 } 48 49 } // namespace base 50