From b1de1bce33f883a07f70ab5a12012da7d4aed1cd Mon Sep 17 00:00:00 2001 From: "Todd C. Miller" Date: Mon, 3 Feb 2014 20:36:48 -0700 Subject: [PATCH] term_restore() now restarts itself so we don't need to do it ourselves. --- src/exec_pty.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/exec_pty.c b/src/exec_pty.c index 18c92cb65..0287c5d1b 100644 --- a/src/exec_pty.c +++ b/src/exec_pty.c @@ -367,11 +367,8 @@ suspend_parent(int signo) del_io_events(); /* Restore original tty mode before suspending. */ - if (ttymode != TERM_COOKED) { - do { - n = term_restore(io_fds[SFD_USERTTY], 0); - } while (!n && errno == EINTR); - } + if (ttymode != TERM_COOKED) + term_restore(io_fds[SFD_USERTTY], 0); if (sig2str(signo, signame) == -1) snprintf(signame, sizeof(signame), "%d", signo); @@ -817,11 +814,8 @@ pty_close(struct command_status *cstat) /* Restore terminal settings. */ if (io_fds[SFD_USERTTY] != -1) { check_foreground(); - if (foreground) { - do { - n = term_restore(io_fds[SFD_USERTTY], 0); - } while (!n && errno == EINTR); - } + if (foreground) + term_restore(io_fds[SFD_USERTTY], 0); } /* If child was signalled, write the reason to stdout like the shell. */ -- 2.40.0