Lines Matching refs:args
205 struct start_args *args = p;
206 int state = args->control;
208 if (a_cas(&args->control, 1, 2)==1)
209 __wait(&args->control, 0, 2, 1);
210 if (args->control) {
211 __syscall(SYS_set_tid_address, &args->control);
215 __syscall(SYS_rt_sigprocmask, SIG_SETMASK, &args->sig_mask, 0, _NSIG/8);
216 __pthread_exit(args->start_func(args->start_arg));
222 struct start_args *args = p;
223 int (*start)(void*) = (int(*)(void*)) args->start_func;
224 __pthread_exit((void *)(uintptr_t)start(args->start_arg));
345 struct start_args *args = (void *)stack;
346 args->start_func = entry;
347 args->start_arg = arg;
348 args->control = attr._a_sched ? 1 : 0;
358 memcpy(&args->sig_mask, &set, sizeof args->sig_mask);
359 args->sig_mask[(SIGCANCEL-1)/8/sizeof(long)] &=
364 ret = __clone((c11 ? start_c11 : start), stack, flags, args, &new->tid, TP_ADJ(new), &__thread_list_lock);
375 if (a_swap(&args->control, ret ? 3 : 0)==2)
376 __wake(&args->control, 1, 1);
378 __wait(&args->control, 0, 3, 0);