Suggestion about including pthread.h

Shi Jun Zhang zhangshj at linux.vnet.ibm.com
Fri Mar 2 07:05:23 UTC 2012


Hi,

Currently jdk/src/solaris/bin/java_md.c includes <pthread.h> with 
"#ifdef __linux__", but BSD, MAC OS, AIX all needs to include pthread.h. 
To avoid the situation that the ifdef clause becomes longer and longer 
like "#if defined(__linux__) || defined(_ALLBSD_SOURCE) || defined(AIX) 
|| defined(OTHER_PLATFORMS)", i suggest to use USE_PTHREADS already 
defined in jdk/make/common/Defs-linux.gmk and add a compiler flag if 
USE_PTHREADS is true. It will look like this:
   ifeq ($(USE_PTHREADS), true)
     CPPFLAGS_COMMON += -DUSE_PTHREADS
   endif

And then all the places need to include pthread.h only needs to use 
"#ifdef USE_PTHREADS". The files include pthread.h are
jdk/src/solaris/bin/java_md.c
jdk/src/solaris/native/sun/nio/ch/NativeThread.c
jdk/src/solaris/transport/socket/socket_md.c

Any comments?

-- 
Regards,

Shi Jun Zhang





More information about the core-libs-dev mailing list