hadoop-common-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cmcc...@apache.org
Subject [32/50] [abbrv] hadoop git commit: HADOOP-11638. OpensslSecureRandom.c pthreads_thread_id should support FreeBSD and Solaris in addition to Linux. Contributed by Kiran Kumar M R.
Date Tue, 17 Mar 2015 20:25:49 GMT
HADOOP-11638. OpensslSecureRandom.c pthreads_thread_id should support FreeBSD and Solaris in
addition to Linux. Contributed by Kiran Kumar M R.


Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/72cd4e4a
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/72cd4e4a
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/72cd4e4a

Branch: refs/heads/HDFS-7836
Commit: 72cd4e4a4eb2a9f8695d4c67eb55dd2be36c52dc
Parents: 685dbaf
Author: cnauroth <cnauroth@apache.org>
Authored: Mon Mar 16 13:26:57 2015 -0700
Committer: cnauroth <cnauroth@apache.org>
Committed: Mon Mar 16 14:04:40 2015 -0700

----------------------------------------------------------------------
 hadoop-common-project/hadoop-common/CHANGES.txt   |  3 +++
 .../hadoop/crypto/random/OpensslSecureRandom.c    | 18 +++++++++++++++++-
 2 files changed, 20 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hadoop/blob/72cd4e4a/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index aa17841..2a2b916 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -1105,6 +1105,9 @@ Release 2.7.0 - UNRELEASED
     HADOOP-11558. Fix dead links to doc of hadoop-tools. (Jean-Pierre 
     Matsumoto via ozawa)
 
+    HADOOP-11638. OpensslSecureRandom.c pthreads_thread_id should support FreeBSD
+    and Solaris in addition to Linux. (Kiran Kumar M R via cnauroth)
+
 Release 2.6.1 - UNRELEASED
 
   INCOMPATIBLE CHANGES

http://git-wip-us.apache.org/repos/asf/hadoop/blob/72cd4e4a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/random/OpensslSecureRandom.c
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/random/OpensslSecureRandom.c
b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/random/OpensslSecureRandom.c
index 6c31d10..8f0c06d 100644
--- a/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/random/OpensslSecureRandom.c
+++ b/hadoop-common-project/hadoop-common/src/main/native/src/org/apache/hadoop/crypto/random/OpensslSecureRandom.c
@@ -29,6 +29,10 @@
 #include <sys/types.h>
 #endif
 
+#if defined(__FreeBSD__)
+#include <pthread_np.h>
+#endif
+
 #ifdef WINDOWS
 #include <windows.h>
 #endif
@@ -274,7 +278,19 @@ static void pthreads_locking_callback(int mode, int type, char *file,
int line)
 
 static unsigned long pthreads_thread_id(void)
 {
-  return (unsigned long)syscall(SYS_gettid);
+  unsigned long thread_id = 0;
+#if defined(__linux__)
+  thread_id = (unsigned long)syscall(SYS_gettid);
+#elif defined(__FreeBSD__)
+  thread_id = (unsigned long)pthread_getthreadid_np();
+#elif defined(__sun)
+  thread_id = (unsigned long)pthread_self();
+#elif defined(__APPLE__)
+  (void)pthread_threadid_np(pthread_self(), &thread_id);
+#else
+#error "Platform not supported"
+#endif
+  return thread_id;
 }
 
 #endif /* UNIX */


Mime
View raw message