OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 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 | 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/process_iterator.h" | 5 #include "base/process/process_iterator.h" |
6 | 6 |
7 #include "base/file_util.h" | 7 #include "base/file_util.h" |
8 #include "base/logging.h" | 8 #include "base/logging.h" |
9 #include "base/process/internal_linux.h" | 9 #include "base/process/internal_linux.h" |
10 #include "base/strings/string_util.h" | 10 #include "base/strings/string_util.h" |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 // Nope, it's a zombie; somebody isn't cleaning up after their children. | 114 // Nope, it's a zombie; somebody isn't cleaning up after their children. |
115 // (e.g. WaitForProcessesToExit doesn't clean up after dead children yet.) | 115 // (e.g. WaitForProcessesToExit doesn't clean up after dead children yet.) |
116 // There could be a lot of zombies, can't really decrement i here. | 116 // There could be a lot of zombies, can't really decrement i here. |
117 } | 117 } |
118 if (skipped >= kSkipLimit) { | 118 if (skipped >= kSkipLimit) { |
119 NOTREACHED(); | 119 NOTREACHED(); |
120 return false; | 120 return false; |
121 } | 121 } |
122 | 122 |
123 entry_.pid_ = pid; | 123 entry_.pid_ = pid; |
124 entry_.ppid_ = GetProcStatsFieldAsInt(proc_stats, internal::VM_PPID); | 124 entry_.ppid_ = GetProcStatsFieldAsInt64(proc_stats, internal::VM_PPID); |
125 entry_.gid_ = GetProcStatsFieldAsInt(proc_stats, internal::VM_PGRP); | 125 entry_.gid_ = GetProcStatsFieldAsInt64(proc_stats, internal::VM_PGRP); |
126 entry_.cmd_line_args_.assign(cmd_line_args.begin(), cmd_line_args.end()); | 126 entry_.cmd_line_args_.assign(cmd_line_args.begin(), cmd_line_args.end()); |
127 entry_.exe_file_ = GetProcessExecutablePath(pid).BaseName().value(); | 127 entry_.exe_file_ = GetProcessExecutablePath(pid).BaseName().value(); |
128 return true; | 128 return true; |
129 } | 129 } |
130 | 130 |
131 bool NamedProcessIterator::IncludeEntry() { | 131 bool NamedProcessIterator::IncludeEntry() { |
132 if (executable_name_ != entry().exe_file()) | 132 if (executable_name_ != entry().exe_file()) |
133 return false; | 133 return false; |
134 return ProcessIterator::IncludeEntry(); | 134 return ProcessIterator::IncludeEntry(); |
135 } | 135 } |
136 | 136 |
137 } // namespace base | 137 } // namespace base |
OLD | NEW |