[safestack] Add ThreadId type as uint64_t
authorVitaly Buka <vitalybuka@google.com>
Fri, 18 Jan 2019 22:32:29 +0000 (22:32 +0000)
committerVitaly Buka <vitalybuka@google.com>
Fri, 18 Jan 2019 22:32:29 +0000 (22:32 +0000)
Reviewers: krytarowski, eugenis

Subscribers: llvm-commits

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

llvm-svn: 351607

compiler-rt/lib/safestack/safestack.cc
compiler-rt/lib/safestack/safestack_platform.h

index 1fd32c0..61e86a0 100644 (file)
@@ -151,7 +151,7 @@ struct thread_stack_ll {
   void *stack_base;
   size_t size;
   pid_t pid;
-  pid_t tid;
+  ThreadId tid;
 };
 
 /// Linked list of unsafe stacks for threads that are exiting. We delay
@@ -174,7 +174,7 @@ void thread_cleanup_handler(void *_iter) {
   pthread_mutex_unlock(&thread_stacks_mutex);
 
   pid_t pid = getpid();
-  pid_t tid = GetTid();
+  ThreadId tid = GetTid();
 
   // Free stacks for dead threads
   thread_stack_ll **stackp = &temp_stacks;
index 051e23b..7047de6 100644 (file)
 
 #include "sanitizer_common/sanitizer_platform.h"
 
+#include <stdint.h>
 #include <sys/syscall.h>
 #include <sys/types.h>
 #include <unistd.h>
 
+#if SANITIZER_NETBSD
+#include <lwp.h>
+#endif
+
 namespace safestack {
 
-inline pid_t GetTid() {
+using ThreadId = uint64_t;
+
+inline ThreadId GetTid() {
 #if SANITIZER_NETBSD
   return _lwp_self();
 #elif SANITIZER_FREEBSD
@@ -38,7 +45,7 @@ inline pid_t GetTid() {
 #endif
 }
 
-inline int TgKill(pid_t pid, pid_t tid, int sig) {
+inline int TgKill(pid_t pid, ThreadId tid, int sig) {
 #if SANITIZER_NETBSD
   (void)pid;
   return _lwp_kill(tid, sig);