Lines Matching refs:psa
245 struct posix_spawn_args *psa; in _posix_spawn_thr() local
248 psa = data; in _posix_spawn_thr()
249 if (psa->sa != NULL) { in _posix_spawn_thr()
250 psa->error = process_spawnattr(*psa->sa); in _posix_spawn_thr()
251 if (psa->error) in _posix_spawn_thr()
254 if (psa->fa != NULL) { in _posix_spawn_thr()
255 psa->error = process_file_actions(*psa->fa); in _posix_spawn_thr()
256 if (psa->error) in _posix_spawn_thr()
259 envp = psa->envp != NULL ? psa->envp : environ; in _posix_spawn_thr()
260 if (psa->use_env_path) in _posix_spawn_thr()
261 _execvpe(psa->path, psa->argv, envp); in _posix_spawn_thr()
263 _execve(psa->path, psa->argv, envp); in _posix_spawn_thr()
264 psa->error = errno; in _posix_spawn_thr()
276 struct posix_spawn_args psa; in do_posix_spawn() local
311 psa.path = path; in do_posix_spawn()
312 psa.fa = fa; in do_posix_spawn()
313 psa.sa = sa; in do_posix_spawn()
314 psa.argv = argv; in do_posix_spawn()
315 psa.envp = envp; in do_posix_spawn()
316 psa.use_env_path = use_env_path; in do_posix_spawn()
317 psa.error = 0; in do_posix_spawn()
333 p = rfork_thread(RFSPAWN, stack + stacksz, _posix_spawn_thr, &psa); in do_posix_spawn()
339 _posix_spawn_thr(&psa); in do_posix_spawn()
351 _posix_spawn_thr(&psa); in do_posix_spawn()
355 if (psa.error != 0) in do_posix_spawn()
361 return (psa.error); in do_posix_spawn()