# HG changeset patch # User zhangshj # Date 1332390643 -28800 # Node ID e91dacb8d57f61fbe605486e9fbe6e503d955459 # Parent a76bc4fefb3641044ecdcfc21dd7089fe2550aa1 7155300: Include pthread.h on all POSIX platforms except Solaris to improve portability Reviewed-by: alanb, dholmes diff -r a76bc4fefb36 -r e91dacb8d57f src/solaris/bin/java_md_solinux.c --- a/src/solaris/bin/java_md_solinux.c Mon Aug 06 16:44:35 2012 +0400 +++ b/src/solaris/bin/java_md_solinux.c Thu Mar 22 12:30:43 2012 +0800 @@ -982,7 +982,18 @@ int ContinueInNewThread0(int (JNICALL *continuation)(void *), jlong stack_size, void * args) { int rslt; -#ifdef __linux__ +#ifdef __solaris__ + thread_t tid; + long flags = 0; + if (thr_create(NULL, stack_size, (void *(*)(void *))continuation, args, flags, &tid) == 0) { + void * tmp; + thr_join(tid, NULL, &tmp); + rslt = (int)tmp; + } else { + /* See below. Continue in current thread if thr_create() failed */ + rslt = continuation(args); + } +#else /* ! __solaris__ */ pthread_t tid; pthread_attr_t attr; pthread_attr_init(&attr); @@ -1007,18 +1018,7 @@ } pthread_attr_destroy(&attr); -#else /* ! __linux__ */ - thread_t tid; - long flags = 0; - if (thr_create(NULL, stack_size, (void *(*)(void *))continuation, args, flags, &tid) == 0) { - void * tmp; - thr_join(tid, NULL, &tmp); - rslt = (int)tmp; - } else { - /* See above. Continue in current thread if thr_create() failed */ - rslt = continuation(args); - } -#endif /* __linux__ */ +#endif /* __solaris__ */ return rslt; } diff -r a76bc4fefb36 -r e91dacb8d57f src/solaris/bin/java_md_solinux.h --- a/src/solaris/bin/java_md_solinux.h Mon Aug 06 16:44:35 2012 +0400 +++ b/src/solaris/bin/java_md_solinux.h Thu Mar 22 12:30:43 2012 +0800 @@ -54,10 +54,10 @@ #endif #include -#ifdef __linux__ +#ifdef __solaris__ +#include +#else #include -#else -#include #endif #define JVM_DLL "libjvm.so" diff -r a76bc4fefb36 -r e91dacb8d57f src/solaris/transport/socket/socket_md.c --- a/src/solaris/transport/socket/socket_md.c Mon Aug 06 16:44:35 2012 +0400 +++ b/src/solaris/transport/socket/socket_md.c Thu Mar 22 12:30:43 2012 +0800 @@ -35,8 +35,7 @@ #include #ifdef __solaris__ #include -#endif -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#else #include #include #endif @@ -306,9 +305,7 @@ return r; } -#endif - -#if defined(__linux__) || defined(_ALLBSD_SOURCE) +#else int dbgsysTlsAlloc() { pthread_key_t key;