[sanitizer] Remove use of task_for_pid from sanitizer_stoptheworld_mac.cc
authorKuba Mracek <mracek@apple.com>
Mon, 7 Aug 2017 18:07:20 +0000 (18:07 +0000)
committerKuba Mracek <mracek@apple.com>
Mon, 7 Aug 2017 18:07:20 +0000 (18:07 +0000)
Using task_for_pid to get the "self" task is not necessary, and it can fail (e.g. for sandboxed processes). Let's just use mach_task_self().

Differential Revision: https://reviews.llvm.org/D36284

llvm-svn: 310271

compiler-rt/lib/sanitizer_common/sanitizer_stoptheworld_mac.cc

index 0c27c47..d84ebef 100644 (file)
@@ -55,17 +55,9 @@ void RunThread(void *arg) {
   struct RunThreadArgs *run_args = (struct RunThreadArgs *)arg;
   SuspendedThreadsListMac suspended_threads_list;
 
-  mach_port_t task;
-  kern_return_t err = task_for_pid(mach_task_self(), internal_getpid(), &task);
-  if (err != KERN_SUCCESS) {
-    VReport(1, "Getting task from pid failed (errno %d).\n", err);
-    return;
-  }
-
   thread_array_t threads;
   mach_msg_type_number_t num_threads;
-
-  err = task_threads(task, &threads, &num_threads);
+  kern_return_t err = task_threads(mach_task_self(), &threads, &num_threads);
   if (err != KERN_SUCCESS) {
     VReport(1, "Failed to get threads for task (errno %d).\n", err);
     return;