diff options
| author | Ákos Kőrösi <korakos99@gmail.com> | 2026-05-21 16:02:56 +0200 |
|---|---|---|
| committer | Ákos Kőrösi <korakos99@gmail.com> | 2026-05-21 16:02:56 +0200 |
| commit | f4b209f1622afd61cf146f7e52bc455ed790c703 (patch) | |
| tree | f1b0df3b07986d54a72a40f5033e6c747e420e5c /src | |
| parent | 16865db3c000e4900c202d0e7d6aa5e7ed2043ca (diff) | |
further work on proc sub
Diffstat (limited to 'src')
| -rw-r--r-- | src/exec.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -78,16 +78,17 @@ ExecutableCommand process_pl_command(PlCommand pl_cmd) { push_to_StrVec(&arg_vec, strdup(pname)); break; case ARG_PS_OUT: + // TODO: do waiting correctly pipe(ps_pipe_fds); - execute_command_pipeline(*(Pipeline*)arg.as.sub_pipeline, ps_pipe_fds[0], STDOUT_FILENO); // TODO: don't do fcntl? fcntl(ps_pipe_fds[1], F_SETFD, FD_CLOEXEC); - execute_command_pipeline(*(Pipeline*)arg.as.sub_pipeline, STDIN_FILENO, ps_pipe_fds[1]); + execute_command_pipeline(*(Pipeline*)arg.as.sub_pipeline, ps_pipe_fds[0], STDOUT_FILENO); fcntl(ps_pipe_fds[1], F_SETFD, 0); close(ps_pipe_fds[0]); char name[64]; snprintf(name, sizeof(name), "/dev/fd/%d", ps_pipe_fds[1]); + push_to_IntVec(&parent_open_fds, ps_pipe_fds[1]); push_to_StrVec(&arg_vec, strdup(name)); break; default: |
