use libc-internal malloc for newlocale/freelocale
[musl] / src / thread / pthread_attr_get.c
index e4650e4..f12ff44 100644 (file)
@@ -7,11 +7,11 @@ int pthread_attr_getdetachstate(const pthread_attr_t *a, int *state)
 }
 int pthread_attr_getguardsize(const pthread_attr_t *restrict a, size_t *restrict size)
 {
-       *size = a->_a_guardsize + DEFAULT_GUARD_SIZE;
+       *size = a->_a_guardsize;
        return 0;
 }
 
-int pthread_attr_getinheritsched(const pthread_attr_t *a, int *inherit)
+int pthread_attr_getinheritsched(const pthread_attr_t *restrict a, int *restrict inherit)
 {
        *inherit = a->_a_sched;
        return 0;
@@ -23,7 +23,7 @@ int pthread_attr_getschedparam(const pthread_attr_t *restrict a, struct sched_pa
        return 0;
 }
 
-int pthread_attr_getschedpolicy(const pthread_attr_t *a, int *policy)
+int pthread_attr_getschedpolicy(const pthread_attr_t *restrict a, int *restrict policy)
 {
        *policy = a->_a_policy;
        return 0;
@@ -39,60 +39,60 @@ int pthread_attr_getstack(const pthread_attr_t *restrict a, void **restrict addr
 {
        if (!a->_a_stackaddr)
                return EINVAL;
-       *size = a->_a_stacksize + DEFAULT_STACK_SIZE;
+       *size = a->_a_stacksize;
        *addr = (void *)(a->_a_stackaddr - *size);
        return 0;
 }
 
 int pthread_attr_getstacksize(const pthread_attr_t *restrict a, size_t *restrict size)
 {
-       *size = a->_a_stacksize + DEFAULT_STACK_SIZE;
+       *size = a->_a_stacksize;
        return 0;
 }
 
 int pthread_barrierattr_getpshared(const pthread_barrierattr_t *restrict a, int *restrict pshared)
 {
-       *pshared = !!*a;
+       *pshared = !!a->__attr;
        return 0;
 }
 
 int pthread_condattr_getclock(const pthread_condattr_t *restrict a, clockid_t *restrict clk)
 {
-       *clk = *a & 0x7fffffff;
+       *clk = a->__attr & 0x7fffffff;
        return 0;
 }
 
 int pthread_condattr_getpshared(const pthread_condattr_t *restrict a, int *restrict pshared)
 {
-       *pshared = *a>>31;
+       *pshared = a->__attr>>31;
        return 0;
 }
 
 int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *restrict a, int *restrict protocol)
 {
-       *protocol = PTHREAD_PRIO_NONE;
+       *protocol = a->__attr / 8U % 2;
        return 0;
 }
 int pthread_mutexattr_getpshared(const pthread_mutexattr_t *restrict a, int *restrict pshared)
 {
-       *pshared = *a>>31;
+       *pshared = a->__attr / 128U % 2;
        return 0;
 }
 
 int pthread_mutexattr_getrobust(const pthread_mutexattr_t *restrict a, int *restrict robust)
 {
-       *robust = *a / 4U % 2;
+       *robust = a->__attr / 4U % 2;
        return 0;
 }
 
 int pthread_mutexattr_gettype(const pthread_mutexattr_t *restrict a, int *restrict type)
 {
-       *type = *a & 3;
+       *type = a->__attr & 3;
        return 0;
 }
 
 int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *restrict a, int *restrict pshared)
 {
-       *pshared = *(int *)a;
+       *pshared = a->__attr[0];
        return 0;
 }