summaryrefslogtreecommitdiff
path: root/src/log.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/log.c')
-rw-r--r--src/log.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/log.c b/src/log.c
index 39c1d0442..1405ba301 100644
--- a/src/log.c
+++ b/src/log.c
@@ -42,7 +42,11 @@ static const char *err_filename;
/* redirect stdin to /dev/null to work around a libao bug */
static void redirect_stdin(void)
{
- int fd;
+ int fd, st;
+ struct stat ss;
+
+ if ((st = fstat(STDIN_FILENO, &ss)) < 0 || ! isatty(STDIN_FILENO))
+ return;
if ((fd = open("/dev/null", O_RDONLY)) < 0)
FATAL("failed to open /dev/null %s\n", strerror(errno));
if (dup2(fd, STDIN_FILENO) < 0)