Lines Matching defs:args
13 struct args {
43 struct args *args = args_vp;
44 int p = args->p[1];
45 const posix_spawn_file_actions_t *fa = args->fa;
46 const posix_spawnattr_t *restrict attr = args->attr;
49 close(args->p[0]);
131 ? &attr->__mask : &args->oldmask, 0);
133 args->exec(args->path, args->argv, args->envp);
153 struct args args;
155 if (pipe2(args.p, O_CLOEXEC))
160 args.path = path;
161 args.exec = exec;
162 args.fa = fa;
163 args.attr = attr ? attr : &(const posix_spawnattr_t){0};
164 args.argv = argv;
165 args.envp = envp;
166 pthread_sigmask(SIG_BLOCK, SIGALL_SET, &args.oldmask);
169 CLONE_VM|CLONE_VFORK|SIGCHLD, &args);
170 close(args.p[1]);
173 if (read(args.p[0], &ec, sizeof ec) != sizeof ec) ec = 0;
179 close(args.p[0]);
183 pthread_sigmask(SIG_SETMASK, &args.oldmask, 0);