process_info_mac.cc 474 B

1234567891011121314151617181920212223
  1. #include "base/process/process_info.h"
  2. #include <os/availability.h>
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <unistd.h>
  6. extern "C" {
  7. pid_t responsibility_get_pid_responsible_for_pid(pid_t)
  8. API_AVAILABLE(macosx(10.12));
  9. }
  10. namespace base {
  11. bool IsProcessSelfResponsible() {
  12. if (__builtin_available(macOS 10.14, *)) {
  13. const pid_t pid = getpid();
  14. return responsibility_get_pid_responsible_for_pid(pid) == pid;
  15. }
  16. return true;
  17. }
  18. } // namespace base