25 dup2(pipefd[1], STDOUT_FILENO);
40 dup2(pipefd[0], STDIN_FILENO);
void shell_exit(t_shell *shell, int exit_code)
Shell'i temizleyip programdan çıkar.
int execute_ast(t_shell *shell, t_ast *node)
AST node'unu tipine göre çalıştır.
void pipe_left_child(t_shell *shell, t_ast *node, int *pipefd)
Pipe'ın sol tarafını çalıştır.
int wait_pipe(pid_t left_pid, pid_t right_pid)
İki child'ı bekle, sağ tarafın exit status'unu döndür.
void pipe_right_child(t_shell *shell, t_ast *node, int *pipefd)
Pipe'ın sağ tarafını çalıştır.
int wait_for_child(pid_t pid)
Child process'i bekle ve exit status al EINTR: sinyal gelirse waitpid'i tekrar dene (zombie bırakma).
Minishell ana header dosyası