Move POSIX feature constants from pthread.h to unistd.h, as required by
1003.1c-1995. Undefine _POSIX_THREAD_SAFE_FUNCTIONS, since we do not implement all of the necessary interfaces. At least getgrgid_r(), getrnam_r(), getpwuid_r(), getpwnam_r(), getc_unlocked(), getchar_unlocked(), putc_unlocked(), and putchar_unlocked() are missing. Due to a likely typo in 1003.1c-1995, we are not technically allowed to define _POSIX_THREADS without defining _POSIX_THREAD_SAFE_FUNCTIONS, but either way we're non-compliant, so I'm leaving _POSIX_THREADS defined. PR: bin/8281
This commit is contained in:
parent
0c82961025
commit
249fb81fa3
@ -53,21 +53,6 @@
|
|||||||
#define PTHREAD_STACK_MIN 1024
|
#define PTHREAD_STACK_MIN 1024
|
||||||
#define PTHREAD_THREADS_MAX ULONG_MAX
|
#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.
|
* Flags for threads and thread attributes.
|
||||||
*/
|
*/
|
||||||
@ -174,10 +159,8 @@ struct pthread_once {
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define PTHREAD_PRIO_NONE 0
|
#define PTHREAD_PRIO_NONE 0
|
||||||
#ifdef _POSIX_THREAD_PRIO_PROTECT
|
|
||||||
#define PTHREAD_PRIO_INHERIT 1
|
#define PTHREAD_PRIO_INHERIT 1
|
||||||
#define PTHREAD_PRIO_PROTECT 2
|
#define PTHREAD_PRIO_PROTECT 2
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Mutex types (Single UNIX Specification, Version 2, 1997).
|
* Mutex types (Single UNIX Specification, Version 2, 1997).
|
||||||
|
@ -62,6 +62,30 @@
|
|||||||
/* may disable terminal special characters */
|
/* may disable terminal special characters */
|
||||||
#define _POSIX_VDISABLE 0xff
|
#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 */
|
/* access function */
|
||||||
#define F_OK 0 /* test for existence of file */
|
#define F_OK 0 /* test for existence of file */
|
||||||
#define X_OK 0x01 /* test for execute or search permission */
|
#define X_OK 0x01 /* test for execute or search permission */
|
||||||
|
Loading…
Reference in New Issue
Block a user