Error out if dup2 doesn't return the fd we want

This commit is contained in:
sin 2014-04-10 11:21:12 +01:00
parent dfc2f7edac
commit f308a58740
1 changed files with 6 additions and 3 deletions

View File

@ -65,9 +65,12 @@ main(int argc, char *argv[])
fd = open(tty, O_RDWR);
if (fd < 0)
eprintf("open %s:", tty);
dup2(fd, STDIN_FILENO);
dup2(fd, STDOUT_FILENO);
dup2(fd, STDERR_FILENO);
if (dup2(fd, STDIN_FILENO) != STDIN_FILENO)
eprintf("dup2:");
if (dup2(fd, STDOUT_FILENO) != STDOUT_FILENO)
eprintf("dup2:");
if (dup2(fd, STDERR_FILENO) != STDERR_FILENO)
eprintf("dup2:");
sa.sa_handler = SIG_DFL;
sa.sa_flags = 0;