| ... | @@ -263,6 +263,7 @@ static int os_exec_process_posix(const char *exe, ZigList<const char *> &args, | ... | @@ -263,6 +263,7 @@ static int os_exec_process_posix(const char *exe, ZigList<const char *> &args, |
| 263 | } else { | 263 | } else { |
| 264 | // parent | 264 | // parent |
| 265 | close(stdin_pipe[0]); | 265 | close(stdin_pipe[0]); |
| | 266 | close(stdin_pipe[1]); |
| 266 | close(stdout_pipe[1]); | 267 | close(stdout_pipe[1]); |
| 267 | close(stderr_pipe[1]); | 268 | close(stderr_pipe[1]); |
| 268 | | 269 | |
| ... | @@ -270,8 +271,13 @@ static int os_exec_process_posix(const char *exe, ZigList<const char *> &args, | ... | @@ -270,8 +271,13 @@ static int os_exec_process_posix(const char *exe, ZigList<const char *> &args, |
| 270 | waitpid(pid, &status, 0); | 271 | waitpid(pid, &status, 0); |
| 271 | populate_termination(term, status); | 272 | populate_termination(term, status); |
| 272 | | 273 | |
| 273 | os_fetch_file(fdopen(stdout_pipe[0], "rb"), out_stdout); | 274 | FILE *stdout_f = fdopen(stdout_pipe[0], "rb"); |
| 274 | os_fetch_file(fdopen(stderr_pipe[0], "rb"), out_stderr); | 275 | FILE *stderr_f = fdopen(stderr_pipe[0], "rb"); |
| | 276 | os_fetch_file(stdout_f, out_stdout); |
| | 277 | os_fetch_file(stderr_f, out_stderr); |
| | 278 | |
| | 279 | fclose(stdout_f); |
| | 280 | fclose(stderr_f); |
| 275 | | 281 | |
| 276 | return 0; | 282 | return 0; |
| 277 | } | 283 | } |