rework langinfo code for ABI compat and for use by time code
[musl] / src / thread / pthread_barrier_init.c
index 2cc67ed..4c3cb28 100644 (file)
@@ -1,8 +1,8 @@
 #include "pthread_impl.h"
 
-int pthread_barrier_init(pthread_barrier_t *b, const pthread_barrierattr_t *a, unsigned count)
+int pthread_barrier_init(pthread_barrier_t *restrict b, const pthread_barrierattr_t *restrict a, unsigned count)
 {
-       if (!count) return EINVAL;
-       *b = (pthread_barrier_t){ .__limit = count-1 };
+       if (count-1 > INT_MAX-1) return EINVAL;
+       *b = (pthread_barrier_t){ ._b_limit = count-1 | (a?a->__attr:0) };
        return 0;
 }