gui: Do not decode the pressed key multiple times.
[paraslash.git] / stdout.c
index 5fae20c28b2bcb093a1ab054b7c4e8c27be67829..1f7791094a33a961c193c273a4c09e9b16f2be07 100644 (file)
--- a/stdout.c
+++ b/stdout.c
@@ -1,13 +1,7 @@
-/*
- * Copyright (C) 2006-2014 Andre Noll <maan@tuebingen.mpg.de>
- *
- * Licensed under the GPL v2. For licencing details see COPYING.
- */
+/* Copyright (C) 2006 Andre Noll <maan@tuebingen.mpg.de>, see file COPYING. */
 
 /** \file stdout.c Functions that deal with writing to stdout. */
 
-#include <assert.h>
-
 #include "para.h"
 #include "list.h"
 #include "sched.h"
@@ -91,13 +85,14 @@ void stdout_task_register(struct stdout_task *sot, struct sched *s)
                .name = "stdout",
        };
 
-       /* See stdin.c for details. */
+       /* See \ref stdin.c for details. */
        ret = fcntl(STDOUT_FILENO, F_GETFL);
        if (ret < 0) {
                PARA_EMERG_LOG("F_GETFL: %s\n", strerror(errno));
                exit(EXIT_FAILURE);
        }
        sot->fd_flags = ret;
-       sot->must_set_nonblock_flag = (sot->fd_flags & O_NONBLOCK) == 0;
+       sot->must_set_nonblock_flag = (sot->fd_flags & O_NONBLOCK) == 0
+               && !isatty(STDOUT_FILENO);
        sot->task = task_register(&ti, s);
 }