--- old/src/solaris/bin/java_md.c 2012-03-09 15:14:12.013624660 +0800 +++ new/src/solaris/bin/java_md.c 2012-03-09 15:14:11.389624660 +0800 @@ -37,10 +37,10 @@ #include "manifest_info.h" #include "version_comp.h" -#ifdef __linux__ -#include -#else +#ifdef __solaris__ #include +#else +#include #endif #define JVM_DLL "libjvm.so" @@ -1434,7 +1434,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 above. Continue in current thread if thr_create() failed */ + rslt = continuation(args); + } +#else pthread_t tid; pthread_attr_t attr; pthread_attr_init(&attr); @@ -1459,17 +1470,6 @@ } pthread_attr_destroy(&attr); -#else - 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 return rslt; } --- old/src/solaris/transport/socket/socket_md.c 2012-03-09 15:14:13.581624659 +0800 +++ new/src/solaris/transport/socket/socket_md.c 2012-03-09 15:14:12.993624660 +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;