-static void
-kill_process(struct uloop_process *proc)
-{
- if (!proc->pending)
- return;
-
- kill(proc->pid, SIGTERM);
- uloop_process_delete(proc);
-}
-
-static int
-start_process(const char **argv, char **env, struct uloop_process *proc)
-{
- int pid;
-
- kill_process(proc);
-
- if ((pid = fork()) < 0)
- return -1;
-
- if (!pid) {
- if (env) {
- while (*env) {
- putenv(*env);
- env++;
- }
- }
- fchdir(proto_fd);
- execvp(argv[0], (char **) argv);
- exit(127);
- }
-
- if (pid < 0)
- return -1;
-
- proc->pid = pid;
- uloop_process_add(proc);
-
- return 0;
-}
-