From 8ff69ce0b0dca330c596bb5276aaa653d049763e Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Sat, 28 Jan 1995 20:02:04 +0000 Subject: (main): Only open /dev/tty if stdin is unreadable. --- utils/shd.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'utils') diff --git a/utils/shd.c b/utils/shd.c index 8a8db3af..8e260ccf 100644 --- a/utils/shd.c +++ b/utils/shd.c @@ -237,15 +237,16 @@ main () exec_init (getdport (0), getauth (), MACH_PORT_NULL, MACH_MSG_TYPE_COPY_SEND); - { - int ttyd = open ("/dev/tty", O_RDWR|O_IGNORE_CTTY); - if (ttyd >= 0) - { - fcntl (ttyd, F_SETFD, FD_CLOEXEC); - stdin = fdopen (ttyd, "r"); - stdout = stderr = fdopen (ttyd, "w"); - } - } + if ((fcntl (0, F_GETFL) & O_READ) == 0) + { + int ttyd = open ("/dev/tty", O_RDWR|O_IGNORE_CTTY); + if (ttyd >= 0) + { + fcntl (ttyd, F_SETFD, FD_CLOEXEC); + stdin = fdopen (ttyd, "r"); + stdout = stderr = fdopen (ttyd, "w"); + } + } atexit ((void (*) (void)) &sync); -- cgit v1.2.3