sysconf for PTHREAD_KEYS_MAX
[musl] / src / conf / sysconf.c
index cdaeb2a..28232a7 100644 (file)
@@ -36,12 +36,12 @@ long sysconf(int name)
                [_SC_AIO_PRIO_DELTA_MAX] = 0, /* ?? */
                [_SC_DELAYTIMER_MAX] = _POSIX_DELAYTIMER_MAX,
                [_SC_MQ_OPEN_MAX] = -1,
-               [_SC_MQ_PRIO_MAX] = _POSIX_MQ_PRIO_MAX,
+               [_SC_MQ_PRIO_MAX] = MQ_PRIO_MAX,
                [_SC_VERSION] = VER,
                [_SC_PAGE_SIZE] = PAGE_SIZE,
                [_SC_RTSIG_MAX] = 63, /* ?? */
-               [_SC_SEM_NSEMS_MAX] = _POSIX_SEM_NSEMS_MAX,
-               [_SC_SEM_VALUE_MAX] = _POSIX_SEM_VALUE_MAX,
+               [_SC_SEM_NSEMS_MAX] = SEM_NSEMS_MAX,
+               [_SC_SEM_VALUE_MAX] = OFLOW,
                [_SC_SIGQUEUE_MAX] = -1,
                [_SC_TIMER_MAX] = -1,
                [_SC_BC_BASE_MAX] = _POSIX2_BC_BASE_MAX,
@@ -82,8 +82,8 @@ long sysconf(int name)
                [_SC_LOGIN_NAME_MAX] = 256,
                [_SC_TTY_NAME_MAX] = TTY_NAME_MAX,
                [_SC_THREAD_DESTRUCTOR_ITERATIONS] = _POSIX_THREAD_DESTRUCTOR_ITERATIONS,
-               [_SC_THREAD_KEYS_MAX] = -1,
-               [_SC_THREAD_STACK_MIN] = 2*PAGE_SIZE,
+               [_SC_THREAD_KEYS_MAX] = PTHREAD_KEYS_MAX,
+               [_SC_THREAD_STACK_MIN] = PTHREAD_STACK_MIN,
                [_SC_THREAD_THREADS_MAX] = -1,
                [_SC_THREAD_ATTR_STACKADDR] = -1,
                [_SC_THREAD_ATTR_STACKSIZE] = VER,
@@ -215,8 +215,8 @@ long sysconf(int name)
        } else if (values[name] == VER) {
                return _POSIX_VERSION;
        } else if (values[name] == OFLOW) {
-               return ARG_MAX;
-       } else {
-               return values[name];
+               if (name == _SC_ARG_MAX) return ARG_MAX;
+               if (name == _SC_SEM_VALUE_MAX) return SEM_VALUE_MAX;
        }
+       return values[name];
 }