X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=stdin.c;h=25eca2ef224f312a1249493d2bc9b192ce066d76;hp=d9f9bd936590985bf32a8351738bbf875c4a5478;hb=f4371e133464d82f5f06d0141c96fe86cc390d98;hpb=471684761a2039bbc89aa1e3c33c62de6bef86cf diff --git a/stdin.c b/stdin.c index d9f9bd93..25eca2ef 100644 --- a/stdin.c +++ b/stdin.c @@ -6,6 +6,10 @@ /** \file stdin.c functions that deal with reading from stdin */ +#include /* readdir() */ +#include + + #include "para.h" #include "string.h" #include "list.h" @@ -24,7 +28,7 @@ * buffer of the stdin task, it adds \p STDIN_FILENO to the read fd set * of \a s. */ -void stdin_pre_select(struct sched *s, struct task *t) +static void stdin_pre_select(struct sched *s, struct task *t) { struct stdin_task *sit = t->private_data; t->ret = 1; @@ -52,7 +56,7 @@ static void stdin_default_event_handler(struct task *t) * appeears to be readable, data is read from stdin into the buffer of the * stdin task. */ -void stdin_post_select(struct sched *s, struct task *t) +static void stdin_post_select(struct sched *s, struct task *t) { struct stdin_task *sit = t->private_data; ssize_t ret; @@ -71,16 +75,16 @@ void stdin_post_select(struct sched *s, struct task *t) } else t->ret = -E_STDIN_EOF; if (t->ret < 0) - sit->eof = 1; + sit->error = t->ret; } /** - * initialize a stdin task structure with default values + * Initialize a stdin task structure with default values. * - * \param sit the stdin task structure + * \param sit The stdin task structure. * * This fills in the pre/post select function poinzters of the task structure - * given by \a sot. It also sets up a default error handler which unregisters + * given by \a sit. It also sets up a default error handler which unregisters * the task. Moreover, \a loaded and \a eof are set to zero and \a bufsize is * initialized to 16 KB (but no buffer is allocated). */ @@ -88,11 +92,11 @@ void stdin_set_defaults(struct stdin_task *sit) { sit->bufsize = 16 * 1024, sit->loaded = 0, - sit->eof = 0, + sit->error = 0, sit->task.pre_select = stdin_pre_select; sit->task.post_select = stdin_post_select; sit->task.event_handler = stdin_default_event_handler; sit->task.private_data = sit; - mark_fd_nonblock(STDIN_FILENO); + mark_fd_nonblocking(STDIN_FILENO); sprintf(sit->task.status, "stdin reader"); }