Lines Matching refs:args
364 struct start_args *args = p;
365 int state = args->control;
367 if (a_cas(&args->control, 1, 2) == 1)
368 __wait(&args->control, 0, 2, 1);
369 if (args->control) {
370 __syscall(SYS_set_tid_address, &args->control);
374 __syscall(SYS_rt_sigprocmask, SIG_SETMASK, &args->sig_mask, 0, _NSIG/8);
378 __pthread_exit(args->start_func(args->start_arg));
393 struct start_args *args = p;
394 int (*start)(void*) = (int(*)(void*)) args->start_func;
395 __pthread_exit((void *)(uintptr_t)start(args->start_arg));
531 struct start_args *args = (void *)stack;
532 args->start_func = entry;
533 args->start_arg = arg;
534 args->control = attr._a_sched ? 1 : 0;
544 memcpy(&args->sig_mask, &set, sizeof args->sig_mask);
545 args->sig_mask[(SIGCANCEL-1)/8/sizeof(long)] &=
550 ret = __clone((c11 ? start_c11 : start), stack, flags, args, &new->tid, TP_ADJ(new), &__thread_list_lock);
561 if (a_swap(&args->control, ret ? 3 : 0) == 2)
562 __wake(&args->control, 1, 1);
564 __wait(&args->control, 0, 3, 0);