diff --git a/include/pthread.h b/include/pthread.h index f4c8220f1d1..f67720dada2 100644 --- a/include/pthread.h +++ b/include/pthread.h @@ -53,21 +53,6 @@ #define PTHREAD_STACK_MIN 1024 #define PTHREAD_THREADS_MAX ULONG_MAX -/* - * Compile time symbolic constants for portability specifications: - * - * Note that those commented out are not currently supported by the - * implementation. - */ -#define _POSIX_THREADS -#define _POSIX_THREAD_ATTR_STACKADDR -#define _POSIX_THREAD_ATTR_STACKSIZE -#define _POSIX_THREAD_PRIORITY_SCHEDULING -#define _POSIX_THREAD_PRIO_INHERIT -#define _POSIX_THREAD_PRIO_PROTECT -/* #define _POSIX_THREAD_PROCESS_SHARED */ -#define _POSIX_THREAD_SAFE_FUNCTIONS - /* * Flags for threads and thread attributes. */ @@ -174,10 +159,8 @@ struct pthread_once { #endif #define PTHREAD_PRIO_NONE 0 -#ifdef _POSIX_THREAD_PRIO_PROTECT #define PTHREAD_PRIO_INHERIT 1 #define PTHREAD_PRIO_PROTECT 2 -#endif /* * Mutex types (Single UNIX Specification, Version 2, 1997). diff --git a/sys/sys/unistd.h b/sys/sys/unistd.h index 7503cddf257..5776bc5425a 100644 --- a/sys/sys/unistd.h +++ b/sys/sys/unistd.h @@ -62,6 +62,30 @@ /* may disable terminal special characters */ #define _POSIX_VDISABLE 0xff +/* + * Threads features: + * + * Note that those commented out are not currently supported by the + * implementation. + */ +#define _POSIX_THREADS +#define _POSIX_THREAD_ATTR_STACKADDR +#define _POSIX_THREAD_ATTR_STACKSIZE +#define _POSIX_THREAD_PRIORITY_SCHEDULING +#define _POSIX_THREAD_PRIO_INHERIT +#define _POSIX_THREAD_PRIO_PROTECT +/* #define _POSIX_THREAD_PROCESS_SHARED */ +/* + * 1003.1c-1995 says on page 38 (2.9.3, paragraph 3) that if _POSIX_THREADS is + * defined, then _POSIX_THREAD_SAFE_FUNCTIONS must also be defined. (This is + * likely a typo (reversed dependency), in which case we would be compliant if + * the typo were officially acknowledged.) However, we do not support all of + * the required _r() interfaces, which means we cannot legitimately define + * _POSIX_THREAD_SAFE_FUNCTIONS. Therefore, we are non-compliant here in two + * ways. + */ +/* #define _POSIX_THREAD_SAFE_FUNCTIONS */ + /* access function */ #define F_OK 0 /* test for existence of file */ #define X_OK 0x01 /* test for execute or search permission */