Cast from pthread_t to pid_t via uintptr_t.
author <shinichiro.hamaji@gmail.com> <>
Thu, 30 Jul 2009 10:45:13 +0000 (10:45 +0000)
committer <shinichiro.hamaji@gmail.com> <>
Thu, 30 Jul 2009 10:45:13 +0000 (10:45 +0000)
On 64bit NetBSD, pthread_t is a pointer and pid_t is an integer so
we cannot cast from pthread_t to pid_t directoly due to difference of
their size.

git-svn-id: https://google-glog.googlecode.com/svn/trunk@69 eb4d4688-79bd-11dd-afb4-1d65580434c0

src/utilities.cc

index ec0e1b9..0c825b9 100644 (file)
@@ -251,7 +251,7 @@ pid_t GetTID() {
   return GetCurrentThreadId();
 #else
   // If none of the techniques above worked, we use pthread_self().
-  return (pid_t)pthread_self();
+  return (pid_t)(uintptr_t)pthread_self();
 #endif
 }