stdout pre_select(): use a minimal delay on input eof
[paraslash.git] / stdout.c
index e9277d999681fd1108fe26b8ec257bf7fe972d87..f857814a93ef8310669ca4138156a31394767a8c 100644 (file)
--- a/stdout.c
+++ b/stdout.c
@@ -12,8 +12,14 @@ void stdout_pre_select(struct sched *s, struct task *t)
 
        t->ret = 1;
        sot->check_fd = 0;
-       if (!*sot->loaded)
+       if (!*sot->loaded) {
+               if (*sot->input_eof) {
+                       t->ret = -E_STDOUT_EOF;
+                       s->timeout.tv_sec = 0;
+                       s->timeout.tv_usec = 1;
+               }
                return;
+       }
        sot->check_fd = 1;
        para_fd_set(STDOUT_FILENO, &s->wfds, &s->max_fileno);
 }