mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-13 10:02:38 +00:00
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
968b1a711d
commit
346b6c5db8
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=54699
@ -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).
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user