Browse Source

HADOOP-11787. OpensslSecureRandom.c pthread_threadid_np usage signature is wrong on 32-bit Mac. Contributed by Kiran Kumar M R.

(cherry picked from commit a3a96a07faf0c6f6aa3ed33608271c2b1657e437)
(cherry picked from commit 726024faa5c14bcdb31ee3ca9afd6a700e813f7f)
cnauroth 10 years ago
parent
commit
aa326086cc

+ 3 - 0
hadoop-common-project/hadoop-common/CHANGES.txt

@@ -713,6 +713,9 @@ Release 2.7.0 - UNRELEASED
     HADOOP-11754. RM fails to start in non-secure mode due to authentication
     filter failure. (wheat9)
 
+    HADOOP-11787. OpensslSecureRandom.c pthread_threadid_np usage signature is
+    wrong on 32-bit Mac. (Kiran Kumar M R via cnauroth)
+
 Release 2.6.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

+ 3 - 1
hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/random/OpensslSecureRandom.c

@@ -286,7 +286,9 @@ static unsigned long pthreads_thread_id(void)
 #elif defined(__sun)
   thread_id = (unsigned long)pthread_self();
 #elif defined(__APPLE__)
-  (void)pthread_threadid_np(pthread_self(), &thread_id);
+  __uint64_t tmp_thread_id;
+  (void)pthread_threadid_np(pthread_self(), &tmp_thread_id);
+  thread_id = (unsigned long)tmp_thread_id;
 #else
 #error "Platform not supported"
 #endif