]> git.tuebingen.mpg.de Git - paraslash.git/blobdiff - stdin.c
simplify sched: nuke PRE_EOF_IS_ERROR
[paraslash.git] / stdin.c
diff --git a/stdin.c b/stdin.c
index cecdcb77521964b7303423f564d04117233a3d1b..299c326e589ef5e00cc7d8279cacce2db5ef6d33 100644 (file)
--- a/stdin.c
+++ b/stdin.c
@@ -27,22 +27,11 @@ void stdin_post_select(struct sched *s, struct task *t)
        ret = read(STDIN_FILENO, sit->buf + sit->loaded, sit->bufsize - sit->loaded);
        if (ret < 0)
                t->ret = -E_STDIN_READ;
-       else {
+       else if (ret > 0) {
                sit->loaded += ret;
                t->ret = ret;
-       }
-       sprintf(t->status,
-               "%p stdin reader: loaded = %d, ret = %d",
-               sit, sit->loaded, t->ret);
+       } else
+               t->ret = -E_STDIN_EOF;
+       if (t->ret < 0)
+               sit->eof = 1;
 }
-
-#if 0
-void stdin_init(struct stdin_task *sit)
-{
-       sit->task.private_data = sit;
-       sit->task.pre_select = stdin_pre_select;
-       sit->task.post_select = stdin_post_select;
-       sit->task.flags = POST_EOF_IS_ERROR;
-       sprintf(sit->task.status, "%p stdin reader: initialized", &sit->task);
-}
-#endif