Mercurial > minori
comparison dep/animia/src/fd/libutil.cc @ 202:71832ffe425a
animia: re-add kvm fd source
this is all being merged from my wildly out-of-date laptop. SORRY!
in other news, I edited the CI file to install the wayland client
as well, so the linux CI build might finally get wayland stuff.
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Tue, 02 Jan 2024 06:05:06 -0500 |
| parents | bc1ae1810855 |
| children |
comparison
equal
deleted
inserted
replaced
| 201:8f6f8dd2eb23 | 202:71832ffe425a |
|---|---|
| 17 static bool IsSystemFile(const std::string& file) { | 17 static bool IsSystemFile(const std::string& file) { |
| 18 return (!file.find("/usr") || !file.find("/lib") || !file.find("/dev") || | 18 return (!file.find("/usr") || !file.find("/lib") || !file.find("/dev") || |
| 19 !file.find("/proc")); | 19 !file.find("/proc")); |
| 20 } | 20 } |
| 21 | 21 |
| 22 bool LibutilFdTools::EnumerateOpenProcesses(process_proc_t process_proc) { | 22 bool EnumerateOpenProcesses(process_proc_t process_proc) { |
| 23 static const int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0}; | 23 static const int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_ALL, 0}; |
| 24 size_t length = 0; | 24 size_t length = 0; |
| 25 | 25 |
| 26 sysctl((int*)mib, (sizeof(mib) / sizeof(*mib)) - 1, NULL, &length, NULL, 0); | 26 sysctl((int*)mib, (sizeof(mib) / sizeof(*mib)) - 1, NULL, &length, NULL, 0); |
| 27 | 27 |
| 45 return false; | 45 return false; |
| 46 | 46 |
| 47 return true; | 47 return true; |
| 48 } | 48 } |
| 49 | 49 |
| 50 bool LibutilFdTools::EnumerateOpenFiles(const std::set<pid_t>& pids, open_file_proc_t open_file_proc) { | 50 bool EnumerateOpenFiles(const std::set<pid_t>& pids, open_file_proc_t open_file_proc) { |
| 51 for (const auto& pid : pids) { | 51 for (const auto& pid : pids) { |
| 52 int cnt; | 52 int cnt; |
| 53 std::unique_ptr<struct kinfo_file[]> files; | 53 std::unique_ptr<struct kinfo_file[]> files; |
| 54 files.reset(kinfo_getfile(pid, &cnt)); | 54 files.reset(kinfo_getfile(pid, &cnt)); |
| 55 if (!files.get()) | 55 if (!files.get()) |
