weak_alias(dummy_tsd, __pthread_tsd_main);
volatile int __block_new_threads = 0;
-size_t __default_stacksize = DEFAULT_STACK_SIZE;
-size_t __default_guardsize = DEFAULT_GUARD_SIZE;
+extern size_t __default_stacksize;
+extern size_t __default_guardsize;
static FILE *volatile dummy_file = 0;
weak_alias(dummy_file, __stdin_used);
if (f && f->lock<0) f->lock = 0;
}
-void *__copy_tls(unsigned char *);
-
int __pthread_create(pthread_t *restrict res, const pthread_attr_t *restrict attrp, void *(*entry)(void *), void *restrict arg)
{
int ret, c11 = (attrp == __ATTRP_C11_THREAD);
if (do_sched) {
__futexwait(&ssa.futex, -1, 1);
+ ret = ssa.futex;
if (ret) return ret;
}