HADOOP-11638. OpensslSecureRandom.c pthreads_thread_id should support FreeBSD and Solaris in addition to Linux (Kiran Kumar M R via Colin P. McCabe)
This commit is contained in:
parent
de1101cb5b
commit
3241fc2b17
|
@ -671,6 +671,10 @@ Release 2.7.0 - UNRELEASED
|
|||
HADOOP-11642. Upgrade azure sdk version from 0.6.0 to 2.0.0.
|
||||
(Shashank Khandelwal and Ivan Mitic via cnauroth)
|
||||
|
||||
HADOOP-11638. OpensslSecureRandom.c pthreads_thread_id should support
|
||||
FreeBSD and Solaris in addition to Linux (Kiran Kumar M R via Colin P.
|
||||
McCabe)
|
||||
|
||||
OPTIMIZATIONS
|
||||
|
||||
HADOOP-11323. WritableComparator#compare keeps reference to byte array.
|
||||
|
|
|
@ -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,17 @@ 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();
|
||||
#else
|
||||
#error "Platform not supported"
|
||||
#endif
|
||||
return thread_id;
|
||||
}
|
||||
|
||||
#endif /* UNIX */
|
||||
|
|
Loading…
Reference in New Issue