]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - stdout.c
Always check the return value of mark_fd_nonblocking().
[paraslash.git] / stdout.c
index babed7525e53db3997d7c792bb75f7b72b881a75..2215f998abb6e1fb6e8a508df3b1ee8433fb795a 100644 (file)
--- a/stdout.c
+++ b/stdout.c
@@ -80,7 +80,7 @@ static void stdout_post_select(struct sched *s, struct task *t)
 
 static void stdout_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);
 }
 
@@ -95,11 +95,17 @@ static void stdout_default_event_handler(struct task *t)
  */
 void stdout_set_defaults(struct stdout_task *sot)
 {
+       int ret;
+
        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->error = 0;
-       mark_fd_nonblocking(STDOUT_FILENO);
        sprintf(sot->task.status, "stdout writer");
+       ret = mark_fd_nonblocking(STDOUT_FILENO);
+       if (ret >= 0)
+               return;
+       PARA_EMERG_LOG("%s\n", para_strerror(-ret));
+       exit(EXIT_FAILURE);
 }