X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=stdin.c;h=afbe35f8eaf2f74a7e04437e5c60de1a2a6a9b1b;hp=25eca2ef224f312a1249493d2bc9b192ce066d76;hb=d85091bebd5abb6f473a31dd118f4d853d1317c9;hpb=19d9318abf42debb15d833d4e56ab636893285c3 diff --git a/stdin.c b/stdin.c index 25eca2ef..afbe35f8 100644 --- a/stdin.c +++ b/stdin.c @@ -41,7 +41,7 @@ static void stdin_pre_select(struct sched *s, struct task *t) static void stdin_default_event_handler(struct task *t) { - PARA_NOTICE_LOG("%p: %s\n", t, PARA_STRERROR(-t->ret)); + PARA_NOTICE_LOG("%p: %s\n", t, para_strerror(-t->ret)); unregister_task(t); } @@ -90,6 +90,8 @@ static void stdin_post_select(struct sched *s, struct task *t) */ void stdin_set_defaults(struct stdin_task *sit) { + int ret; + sit->bufsize = 16 * 1024, sit->loaded = 0, sit->error = 0, @@ -97,6 +99,10 @@ void stdin_set_defaults(struct stdin_task *sit) sit->task.post_select = stdin_post_select; sit->task.event_handler = stdin_default_event_handler; sit->task.private_data = sit; - mark_fd_nonblocking(STDIN_FILENO); sprintf(sit->task.status, "stdin reader"); + ret = mark_fd_nonblocking(STDIN_FILENO); + if (ret >= 0) + return; + PARA_EMERG_LOG("%s\n", para_strerror(-ret)); + exit(EXIT_FAILURE); }