OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "base/process_util.h" | 5 #include "base/process_util.h" |
6 | 6 |
7 #include <ctype.h> | |
8 #include <dirent.h> | |
9 #include <dlfcn.h> | |
10 #include <errno.h> | |
11 #include <fcntl.h> | |
12 #include <sys/param.h> | |
13 #include <sys/sysctl.h> | 7 #include <sys/sysctl.h> |
14 #include <sys/time.h> | |
15 #include <sys/types.h> | 8 #include <sys/types.h> |
16 #include <sys/user.h> | |
17 #include <sys/wait.h> | |
18 #include <time.h> | |
19 #include <unistd.h> | 9 #include <unistd.h> |
20 | 10 |
21 #include "base/logging.h" | |
22 #include "base/string_tokenizer.h" | |
23 #include "base/strings/string_number_conversions.h" | |
24 #include "base/strings/string_split.h" | |
25 #include "base/strings/string_util.h" | |
26 #include "base/sys_info.h" | |
27 #include "base/threading/thread_restrictions.h" | |
28 | |
29 namespace base { | 11 namespace base { |
30 | 12 |
31 ProcessId GetParentProcessId(ProcessHandle process) { | 13 ProcessId GetParentProcessId(ProcessHandle process) { |
32 struct kinfo_proc info; | 14 struct kinfo_proc info; |
33 size_t length; | 15 size_t length; |
34 int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process, | 16 int mib[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, process, |
35 sizeof(struct kinfo_proc), 0 }; | 17 sizeof(struct kinfo_proc), 0 }; |
36 | 18 |
37 if (sysctl(mib, arraysize(mib), NULL, &length, NULL, 0) < 0) | 19 if (sysctl(mib, arraysize(mib), NULL, &length, NULL, 0) < 0) |
38 return -1; | 20 return -1; |
(...skipping 19 matching lines...) Expand all Loading... |
58 return FilePath(); | 40 return FilePath(); |
59 if ((kp.p_flag & P_SYSTEM) != 0) | 41 if ((kp.p_flag & P_SYSTEM) != 0) |
60 return FilePath(); | 42 return FilePath(); |
61 if (strcmp(kp.p_comm, "chrome") == 0) | 43 if (strcmp(kp.p_comm, "chrome") == 0) |
62 return FilePath(kp.p_comm); | 44 return FilePath(kp.p_comm); |
63 | 45 |
64 return FilePath(); | 46 return FilePath(); |
65 } | 47 } |
66 | 48 |
67 } // namespace base | 49 } // namespace base |
OLD | NEW |