Lines Matching refs:psa
248 struct posix_spawn_args *psa; in _posix_spawn_thr() local
251 psa = data; in _posix_spawn_thr()
252 if (psa->sa != NULL) { in _posix_spawn_thr()
253 psa->error = process_spawnattr(*psa->sa); in _posix_spawn_thr()
254 if (psa->error) in _posix_spawn_thr()
257 if (psa->fa != NULL) { in _posix_spawn_thr()
258 psa->error = process_file_actions(*psa->fa); in _posix_spawn_thr()
259 if (psa->error) in _posix_spawn_thr()
262 envp = psa->envp != NULL ? psa->envp : environ; in _posix_spawn_thr()
263 if (psa->use_env_path) in _posix_spawn_thr()
264 execvpe(psa->path, psa->argv, envp); in _posix_spawn_thr()
266 _execve(psa->path, psa->argv, envp); in _posix_spawn_thr()
267 psa->error = errno; in _posix_spawn_thr()
279 struct posix_spawn_args psa; in do_posix_spawn() local
314 psa.path = path; in do_posix_spawn()
315 psa.fa = fa; in do_posix_spawn()
316 psa.sa = sa; in do_posix_spawn()
317 psa.argv = argv; in do_posix_spawn()
318 psa.envp = envp; in do_posix_spawn()
319 psa.use_env_path = use_env_path; in do_posix_spawn()
320 psa.error = 0; in do_posix_spawn()
341 p = rfork_thread(RFSPAWN, stack + stacksz, _posix_spawn_thr, &psa); in do_posix_spawn()
347 _posix_spawn_thr(&psa); in do_posix_spawn()
359 _posix_spawn_thr(&psa); in do_posix_spawn()
363 if (psa.error != 0) in do_posix_spawn()
369 return (psa.error); in do_posix_spawn()