X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=stdout.c;h=e9277d999681fd1108fe26b8ec257bf7fe972d87;hp=83703055c83c54edc9a7e17b050f3ca2d076c61e;hb=65572373b52dad3f2ff3b8302a6f7491553f07b1;hpb=39ef1da5509461b18beb5b8f16ff6118c20c0ac6 diff --git a/stdout.c b/stdout.c index 83703055..e9277d99 100644 --- a/stdout.c +++ b/stdout.c @@ -25,7 +25,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; } @@ -38,3 +38,20 @@ void stdout_post_select(struct sched *s, struct task *t) *sot->loaded -= ret; t->ret = 1; } + +void stdout_default_event_handler(struct task *t) +{ + PARA_NOTICE_LOG("%p: %s\n", t, PARA_STRERROR(-t->ret)); + unregister_task(t); +} + + +void stdout_set_defaults(struct stdout_task *sot) +{ + sot->task.private_data = sot; + sot->task.pre_select = stdout_pre_select; + sot->task.post_select = stdout_post_select; + sot->task.event_handler = stdout_default_event_handler; + sot->eof = 0; + sprintf(sot->task.status, "stdout writer"); +}