X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=stdout.c;h=f857814a93ef8310669ca4138156a31394767a8c;hp=af59807047a4d1e0d1d792632b1b5e1e80b6fd25;hb=fbcc28c36aa7d5e07874e473cbaf044124afd63b;hpb=40cbbb95e256e63e1e6958e9034311d4904604af diff --git a/stdout.c b/stdout.c index af598070..f857814a 100644 --- 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); } @@ -25,7 +31,7 @@ void stdout_post_select(struct sched *s, struct task *t) t->ret = 1; if (!sot->check_fd) { - if (*sot->eof) + if (*sot->input_eof) t->ret = -E_STDOUT_EOF; return; } @@ -52,6 +58,6 @@ void stdout_set_defaults(struct stdout_task *sot) sot->task.pre_select = stdout_pre_select; sot->task.post_select = stdout_post_select; sot->task.event_handler = stdout_default_event_handler; - sot->task.flags = 0; + sot->eof = 0; sprintf(sot->task.status, "stdout writer"); }