mirror of
https://github.com/apache/nuttx.git
synced 2026-05-22 22:20:01 +08:00
limits: add _POSIX_PTHREAD_ constant for pthread management
Add three POSIX‑required pthread‑related constants to limits.h: - _POSIX_THREAD_DESTRUCTOR_ITERATIONS - _POSIX_THREAD_KEYS_MAX - _POSIX_THREAD_THREADS_MAX These constants are needed for full POSIX pthread compatibility and are required by certain PSE52 test suites and applications. Signed-off-by: guoshichao <guoshichao@xiaomi.com>
This commit is contained in:
@@ -314,6 +314,12 @@
|
||||
#define SEM_NSEMS_MAX _POSIX_SEM_NSEMS_MAX
|
||||
#define SEM_VALUE_MAX _POSIX_SEM_VALUE_MAX
|
||||
|
||||
/* Required for POSIX pthread management */
|
||||
|
||||
#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
|
||||
#define _POSIX_THREAD_KEYS_MAX CONFIG_TLS_NELEM
|
||||
#define _POSIX_THREAD_THREADS_MAX 64
|
||||
|
||||
/* Required for readv() and writev() */
|
||||
|
||||
/* There really is no upper limit on the number of vectors */
|
||||
|
||||
+124
-124
@@ -57,133 +57,133 @@
|
||||
* symbolic constants defined in <unistd.h> that are the corresponding
|
||||
* values used for name.
|
||||
*
|
||||
* Variable Value of Name
|
||||
* Variable Value of Name
|
||||
*
|
||||
* {AIO_LISTIO_MAX} _SC_AIO_LISTIO_MAX
|
||||
* {AIO_MAX} _SC_AIO_MAX
|
||||
* {AIO_PRIO_DELTA_MAX} _SC_AIO_PRIO_DELTA_MAX
|
||||
* {ARG_MAX} _SC_ARG_MAX
|
||||
* {ATEXIT_MAX} _SC_ATEXIT_MAX
|
||||
* {BC_BASE_MAX} _SC_BC_BASE_MAX
|
||||
* {BC_DIM_MAX} _SC_BC_DIM_MAX
|
||||
* {BC_SCALE_MAX} _SC_BC_SCALE_MAX
|
||||
* {BC_STRING_MAX} _SC_BC_STRING_MAX
|
||||
* {CHILD_MAX} _SC_CHILD_MAX
|
||||
* Clock ticks/second _SC_CLK_TCK
|
||||
* {COLL_WEIGHTS_MAX} _SC_COLL_WEIGHTS_MAX
|
||||
* {DELAYTIMER_MAX} _SC_DELAYTIMER_MAX
|
||||
* {EXPR_NEST_MAX} _SC_EXPR_NEST_MAX
|
||||
* {HOST_NAME_MAX} _SC_HOST_NAME_MAX
|
||||
* {IOV_MAX} _SC_IOV_MAX
|
||||
* {LINE_MAX} _SC_LINE_MAX
|
||||
* {LOGIN_NAME_MAX} _SC_LOGIN_NAME_MAX
|
||||
* {NGROUPS_MAX} _SC_NGROUPS_MAX
|
||||
* Maximum size of getgrgid_r() and _SC_GETGR_R_SIZE_MAX
|
||||
* {AIO_LISTIO_MAX} _SC_AIO_LISTIO_MAX
|
||||
* {AIO_MAX} _SC_AIO_MAX
|
||||
* {AIO_PRIO_DELTA_MAX} _SC_AIO_PRIO_DELTA_MAX
|
||||
* {ARG_MAX} _SC_ARG_MAX
|
||||
* {ATEXIT_MAX} _SC_ATEXIT_MAX
|
||||
* {BC_BASE_MAX} _SC_BC_BASE_MAX
|
||||
* {BC_DIM_MAX} _SC_BC_DIM_MAX
|
||||
* {BC_SCALE_MAX} _SC_BC_SCALE_MAX
|
||||
* {BC_STRING_MAX} _SC_BC_STRING_MAX
|
||||
* {CHILD_MAX} _SC_CHILD_MAX
|
||||
* Clock ticks/second _SC_CLK_TCK
|
||||
* {COLL_WEIGHTS_MAX} _SC_COLL_WEIGHTS_MAX
|
||||
* {DELAYTIMER_MAX} _SC_DELAYTIMER_MAX
|
||||
* {EXPR_NEST_MAX} _SC_EXPR_NEST_MAX
|
||||
* {HOST_NAME_MAX} _SC_HOST_NAME_MAX
|
||||
* {IOV_MAX} _SC_IOV_MAX
|
||||
* {LINE_MAX} _SC_LINE_MAX
|
||||
* {LOGIN_NAME_MAX} _SC_LOGIN_NAME_MAX
|
||||
* {NGROUPS_MAX} _SC_NGROUPS_MAX
|
||||
* Maximum size of getgrgid_r() and _SC_GETGR_R_SIZE_MAX
|
||||
* getgrnam_r() data buffers
|
||||
* Maximum size of getpwuid_r() and _SC_GETPW_R_SIZE_MAX
|
||||
* Maximum size of getpwuid_r() and _SC_GETPW_R_SIZE_MAX
|
||||
* getpwnam_r() data buffers
|
||||
* {MQ_OPEN_MAX} _SC_MQ_OPEN_MAX
|
||||
* {MQ_PRIO_MAX} _SC_MQ_PRIO_MAX
|
||||
* {OPEN_MAX} _SC_OPEN_MAX
|
||||
* _POSIX_ADVISORY_INFO _SC_ADVISORY_INFO
|
||||
* _POSIX_BARRIERS _SC_BARRIERS
|
||||
* _POSIX_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO
|
||||
* _POSIX_CLOCK_SELECTION _SC_CLOCK_SELECTION
|
||||
* _POSIX_CPUTIME _SC_CPUTIME
|
||||
* _POSIX_FSYNC _SC_FSYNC
|
||||
* _POSIX_IPV6 _SC_IPV6
|
||||
* _POSIX_JOB_CONTROL _SC_JOB_CONTROL
|
||||
* _POSIX_MAPPED_FILES _SC_MAPPED_FILES
|
||||
* _POSIX_MEMLOCK _SC_MEMLOCK
|
||||
* _POSIX_MEMLOCK_RANGE _SC_MEMLOCK_RANGE
|
||||
* _POSIX_MEMORY_PROTECTION _SC_MEMORY_PROTECTION
|
||||
* _POSIX_MESSAGE_PASSING _SC_MESSAGE_PASSING
|
||||
* _POSIX_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK
|
||||
* _POSIX_PRIORITIZED_IO _SC_PRIORITIZED_IO
|
||||
* _POSIX_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING
|
||||
* _POSIX_RAW_SOCKETS _SC_RAW_SOCKETS
|
||||
* _POSIX_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS
|
||||
* _POSIX_REALTIME_SIGNALS _SC_REALTIME_SIGNALS
|
||||
* _POSIX_REGEXP _SC_REGEXP
|
||||
* _POSIX_SAVED_IDS _SC_SAVED_IDS
|
||||
* _POSIX_SEMAPHORES _SC_SEMAPHORES
|
||||
* _POSIX_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS
|
||||
* _POSIX_SHELL _SC_SHELL
|
||||
* _POSIX_SPAWN _SC_SPAWN
|
||||
* _POSIX_SPIN_LOCKS _SC_SPIN_LOCKS
|
||||
* _POSIX_SPORADIC_SERVER _SC_SPORADIC_SERVER
|
||||
* _POSIX_SS_REPL_MAX _SC_SS_REPL_MAX
|
||||
* _POSIX_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO
|
||||
* _POSIX_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR
|
||||
* _POSIX_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE
|
||||
* _POSIX_THREAD_CPUTIME _SC_THREAD_CPUTIME
|
||||
* _POSIX_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT
|
||||
* _POSIX_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT
|
||||
* _POSIX_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING
|
||||
* _POSIX_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED
|
||||
* _POSIX_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS
|
||||
* _POSIX_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER
|
||||
* _POSIX_THREADS _SC_THREADS
|
||||
* _POSIX_TIMEOUTS _SC_TIMEOUTS
|
||||
* _POSIX_TIMERS _SC_TIMERS
|
||||
* _POSIX_TRACE _SC_TRACE
|
||||
* _POSIX_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER
|
||||
* _POSIX_TRACE_EVENT_NAME_MAX _SC_TRACE_EVENT_NAME_MAX
|
||||
* _POSIX_TRACE_INHERIT _SC_TRACE_INHERIT
|
||||
* _POSIX_TRACE_LOG _SC_TRACE_LOG
|
||||
* _POSIX_TRACE_NAME_MAX _SC_TRACE_NAME_MAX
|
||||
* _POSIX_TRACE_SYS_MAX _SC_TRACE_SYS_MAX
|
||||
* _POSIX_TRACE_USER_EVENT_MAX _SC_TRACE_USER_EVENT_MAX
|
||||
* _POSIX_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS
|
||||
* _POSIX_VERSION _SC_VERSION
|
||||
* _POSIX_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32
|
||||
* _POSIX_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG
|
||||
* _POSIX_V6_LP64_OFF64 _SC_V6_LP64_OFF64
|
||||
* _POSIX_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG
|
||||
* _POSIX2_C_BIND _SC_2_C_BIND
|
||||
* _POSIX2_C_DEV _SC_2_C_DEV
|
||||
* _POSIX2_CHAR_TERM _SC_2_CHAR_TERM
|
||||
* _POSIX2_FORT_DEV _SC_2_FORT_DEV
|
||||
* _POSIX2_FORT_RUN _SC_2_FORT_RUN
|
||||
* _POSIX2_LOCALEDEF _SC_2_LOCALEDEF
|
||||
* _POSIX2_PBS _SC_2_PBS
|
||||
* _POSIX2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING
|
||||
* _POSIX2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT
|
||||
* _POSIX2_PBS_LOCATE _SC_2_PBS_LOCATE
|
||||
* _POSIX2_PBS_MESSAGE _SC_2_PBS_MESSAGE
|
||||
* _POSIX2_PBS_TRACK _SC_2_PBS_TRACK
|
||||
* _POSIX2_SW_DEV _SC_2_SW_DEV
|
||||
* _POSIX2_UPE _SC_2_UPE
|
||||
* _POSIX2_VERSION _SC_2_VERSION
|
||||
* {PAGE_SIZE} _SC_PAGE_SIZE
|
||||
* {PAGESIZE} _SC_PAGESIZE
|
||||
* {PTHREAD_DESTRUCTOR_ITERATIONS} _SC_THREAD_DESTRUCTOR_ITERATIONS
|
||||
* {PTHREAD_KEYS_MAX} _SC_THREAD_KEYS_MAX
|
||||
* {PTHREAD_STACK_MIN} _SC_THREAD_STACK_MIN
|
||||
* {PTHREAD_THREADS_MAX} _SC_THREAD_THREADS_MAX
|
||||
* {RE_DUP_MAX} _SC_RE_DUP_MAX
|
||||
* {RTSIG_MAX} _SC_RTSIG_MAX
|
||||
* {SEM_NSEMS_MAX} _SC_SEM_NSEMS_MAX
|
||||
* {SEM_VALUE_MAX} _SC_SEM_VALUE_MAX
|
||||
* {SIGQUEUE_MAX} _SC_SIGQUEUE_MAX
|
||||
* {STREAM_MAX} _SC_STREAM_MAX
|
||||
* {SYMLOOP_MAX} _SC_SYMLOOP_MAX
|
||||
* {TIMER_MAX} _SC_TIMER_MAX
|
||||
* {TTY_NAME_MAX} _SC_TTY_NAME_MAX
|
||||
* {TZNAME_MAX} _SC_TZNAME_MAX
|
||||
* _XBS5_ILP32_OFF32 (LEGACY) _SC_XBS5_ILP32_OFF32 (LEGACY)
|
||||
* _XBS5_ILP32_OFFBIG (LEGACY) _SC_XBS5_ILP32_OFFBIG (LEGACY)
|
||||
* _XBS5_LP64_OFF64 (LEGACY) _SC_XBS5_LP64_OFF64 (LEGACY)
|
||||
* _XBS5_LPBIG_OFFBIG (LEGACY) _SC_XBS5_LPBIG_OFFBIG (LEGACY)
|
||||
* _XOPEN_CRYPT _SC_XOPEN_CRYPT
|
||||
* _XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N
|
||||
* _XOPEN_LEGACY _SC_XOPEN_LEGACY
|
||||
* _XOPEN_REALTIME _SC_XOPEN_REALTIME
|
||||
* _XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS
|
||||
* _XOPEN_SHM _SC_XOPEN_SHM
|
||||
* _XOPEN_STREAMS _SC_XOPEN_STREAMS
|
||||
* _XOPEN_UNIX _SC_XOPEN_UNIX
|
||||
* _XOPEN_VERSION _SC_XOPEN_VERSION
|
||||
* {MQ_OPEN_MAX} _SC_MQ_OPEN_MAX
|
||||
* {MQ_PRIO_MAX} _SC_MQ_PRIO_MAX
|
||||
* {OPEN_MAX} _SC_OPEN_MAX
|
||||
* _POSIX_ADVISORY_INFO _SC_ADVISORY_INFO
|
||||
* _POSIX_BARRIERS _SC_BARRIERS
|
||||
* _POSIX_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO
|
||||
* _POSIX_CLOCK_SELECTION _SC_CLOCK_SELECTION
|
||||
* _POSIX_CPUTIME _SC_CPUTIME
|
||||
* _POSIX_FSYNC _SC_FSYNC
|
||||
* _POSIX_IPV6 _SC_IPV6
|
||||
* _POSIX_JOB_CONTROL _SC_JOB_CONTROL
|
||||
* _POSIX_MAPPED_FILES _SC_MAPPED_FILES
|
||||
* _POSIX_MEMLOCK _SC_MEMLOCK
|
||||
* _POSIX_MEMLOCK_RANGE _SC_MEMLOCK_RANGE
|
||||
* _POSIX_MEMORY_PROTECTION _SC_MEMORY_PROTECTION
|
||||
* _POSIX_MESSAGE_PASSING _SC_MESSAGE_PASSING
|
||||
* _POSIX_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK
|
||||
* _POSIX_PRIORITIZED_IO _SC_PRIORITIZED_IO
|
||||
* _POSIX_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING
|
||||
* _POSIX_RAW_SOCKETS _SC_RAW_SOCKETS
|
||||
* _POSIX_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS
|
||||
* _POSIX_REALTIME_SIGNALS _SC_REALTIME_SIGNALS
|
||||
* _POSIX_REGEXP _SC_REGEXP
|
||||
* _POSIX_SAVED_IDS _SC_SAVED_IDS
|
||||
* _POSIX_SEMAPHORES _SC_SEMAPHORES
|
||||
* _POSIX_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS
|
||||
* _POSIX_SHELL _SC_SHELL
|
||||
* _POSIX_SPAWN _SC_SPAWN
|
||||
* _POSIX_SPIN_LOCKS _SC_SPIN_LOCKS
|
||||
* _POSIX_SPORADIC_SERVER _SC_SPORADIC_SERVER
|
||||
* _POSIX_SS_REPL_MAX _SC_SS_REPL_MAX
|
||||
* _POSIX_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO
|
||||
* _POSIX_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR
|
||||
* _POSIX_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE
|
||||
* _POSIX_THREAD_CPUTIME _SC_THREAD_CPUTIME
|
||||
* _POSIX_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT
|
||||
* _POSIX_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT
|
||||
* _POSIX_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING
|
||||
* _POSIX_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED
|
||||
* _POSIX_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS
|
||||
* _POSIX_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER
|
||||
* _POSIX_THREADS _SC_THREADS
|
||||
* _POSIX_TIMEOUTS _SC_TIMEOUTS
|
||||
* _POSIX_TIMERS _SC_TIMERS
|
||||
* _POSIX_TRACE _SC_TRACE
|
||||
* _POSIX_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER
|
||||
* _POSIX_TRACE_EVENT_NAME_MAX _SC_TRACE_EVENT_NAME_MAX
|
||||
* _POSIX_TRACE_INHERIT _SC_TRACE_INHERIT
|
||||
* _POSIX_TRACE_LOG _SC_TRACE_LOG
|
||||
* _POSIX_TRACE_NAME_MAX _SC_TRACE_NAME_MAX
|
||||
* _POSIX_TRACE_SYS_MAX _SC_TRACE_SYS_MAX
|
||||
* _POSIX_TRACE_USER_EVENT_MAX _SC_TRACE_USER_EVENT_MAX
|
||||
* _POSIX_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS
|
||||
* _POSIX_VERSION _SC_VERSION
|
||||
* _POSIX_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32
|
||||
* _POSIX_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG
|
||||
* _POSIX_V6_LP64_OFF64 _SC_V6_LP64_OFF64
|
||||
* _POSIX_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG
|
||||
* _POSIX2_C_BIND _SC_2_C_BIND
|
||||
* _POSIX2_C_DEV _SC_2_C_DEV
|
||||
* _POSIX2_CHAR_TERM _SC_2_CHAR_TERM
|
||||
* _POSIX2_FORT_DEV _SC_2_FORT_DEV
|
||||
* _POSIX2_FORT_RUN _SC_2_FORT_RUN
|
||||
* _POSIX2_LOCALEDEF _SC_2_LOCALEDEF
|
||||
* _POSIX2_PBS _SC_2_PBS
|
||||
* _POSIX2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING
|
||||
* _POSIX2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT
|
||||
* _POSIX2_PBS_LOCATE _SC_2_PBS_LOCATE
|
||||
* _POSIX2_PBS_MESSAGE _SC_2_PBS_MESSAGE
|
||||
* _POSIX2_PBS_TRACK _SC_2_PBS_TRACK
|
||||
* _POSIX2_SW_DEV _SC_2_SW_DEV
|
||||
* _POSIX2_UPE _SC_2_UPE
|
||||
* _POSIX2_VERSION _SC_2_VERSION
|
||||
* {PAGE_SIZE} _SC_PAGE_SIZE
|
||||
* {PAGESIZE} _SC_PAGESIZE
|
||||
* _POSIX_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS
|
||||
* _POSIX_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX
|
||||
* {PTHREAD_STACK_MIN} _SC_THREAD_STACK_MIN
|
||||
* _POSIX_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX
|
||||
* {RE_DUP_MAX} _SC_RE_DUP_MAX
|
||||
* {RTSIG_MAX} _SC_RTSIG_MAX
|
||||
* {SEM_NSEMS_MAX} _SC_SEM_NSEMS_MAX
|
||||
* {SEM_VALUE_MAX} _SC_SEM_VALUE_MAX
|
||||
* {SIGQUEUE_MAX} _SC_SIGQUEUE_MAX
|
||||
* {STREAM_MAX} _SC_STREAM_MAX
|
||||
* {SYMLOOP_MAX} _SC_SYMLOOP_MAX
|
||||
* {TIMER_MAX} _SC_TIMER_MAX
|
||||
* {TTY_NAME_MAX} _SC_TTY_NAME_MAX
|
||||
* {TZNAME_MAX} _SC_TZNAME_MAX
|
||||
* _XBS5_ILP32_OFF32 (LEGACY) _SC_XBS5_ILP32_OFF32 (LEGACY)
|
||||
* _XBS5_ILP32_OFFBIG (LEGACY) _SC_XBS5_ILP32_OFFBIG (LEGACY)
|
||||
* _XBS5_LP64_OFF64 (LEGACY) _SC_XBS5_LP64_OFF64 (LEGACY)
|
||||
* _XBS5_LPBIG_OFFBIG (LEGACY) _SC_XBS5_LPBIG_OFFBIG (LEGACY)
|
||||
* _XOPEN_CRYPT _SC_XOPEN_CRYPT
|
||||
* _XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N
|
||||
* _XOPEN_LEGACY _SC_XOPEN_LEGACY
|
||||
* _XOPEN_REALTIME _SC_XOPEN_REALTIME
|
||||
* _XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS
|
||||
* _XOPEN_SHM _SC_XOPEN_SHM
|
||||
* _XOPEN_STREAMS _SC_XOPEN_STREAMS
|
||||
* _XOPEN_UNIX _SC_XOPEN_UNIX
|
||||
* _XOPEN_VERSION _SC_XOPEN_VERSION
|
||||
*
|
||||
* Returned Value:
|
||||
* If name is an invalid value, sysconf() will return -1 and set errno to
|
||||
|
||||
Reference in New Issue
Block a user