31 ret = waitpid(pid, &status, 0);
34 if (ret < 0 && errno != EINTR)
37 if (WIFEXITED(status))
38 return (WEXITSTATUS(status));
39 if (WIFSIGNALED(status))
40 return (128 + WTERMSIG(status));
53 saved_fds[0] = dup(STDIN_FILENO);
56 saved_fds[1] = dup(STDOUT_FILENO);
77 if (saved_fds[0] >= 0)
79 if (dup2(saved_fds[0], STDIN_FILENO) < 0)
83 if (saved_fds[1] >= 0)
85 if (dup2(saved_fds[1], STDOUT_FILENO) < 0)
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).
int save_std_fds(int *saved_fds)
stdin ve stdout'u kaydet (builtin için)
int restore_std_fds(int *saved_fds)
Kaydedilen fd'leri geri yükle.
Minishell ana header dosyası