there is a resource limit of 0 bits to store the concurrency level requested. thus any positive level exceeds a resource limit, resulting in EAGAIN. :-)
@@ -178,6 +178,9 @@ int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int);
int pthread_atfork(void (*)(void), void (*)(void), void (*)(void));
+int pthread_getconcurrency(void);
+int pthread_setconcurrency(int);
+
#include <bits/pthread.h>
int __setjmp(void *);
@@ -0,0 +1,6 @@
+#include <pthread.h>
+int pthread_getconcurrency()
+{
+ return 0;
+}
@@ -0,0 +1,9 @@
+#include <errno.h>
+int pthread_setconcurrency(int val)
+ if (val < 0) return EINVAL;
+ if (val > 0) return EAGAIN;