diff options
-rw-r--r-- | include/pthread.h | 17 | ||||
-rw-r--r-- | sys/sys/unistd.h | 24 |
2 files changed, 24 insertions, 17 deletions
diff --git a/include/pthread.h b/include/pthread.h index f4c8220..f67720d 100644 --- a/include/pthread.h +++ b/include/pthread.h @@ -54,21 +54,6 @@ #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. */ #define PTHREAD_DETACHED 0x1 @@ -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 7503cdd..5776bc5 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 */ |