6b9c80988b365c76fe77e8a470004e2398739d5f
9 void stdin_pre_select(struct sched
*s
, struct task
*t
)
11 struct stdin_task
*sit
= t
->private_data
;
12 if (sit
->loaded
< sit
->bufsize
)
13 para_fd_set(STDIN_FILENO
, &s
->rfds
, &s
->max_fileno
);
14 t
->ret
= 1; /* success */
17 void stdin_post_select(struct sched
*s
, struct task
*t
)
19 struct stdin_task
*sit
= t
->private_data
;
23 if (sit
->loaded
>= sit
->bufsize
)
25 if (!FD_ISSET(STDIN_FILENO
, &s
->rfds
))
27 ret
= read(STDIN_FILENO
, sit
->buf
+ sit
->loaded
, sit
->bufsize
- sit
->loaded
);
29 t
->ret
= -E_STDIN_READ
;
38 "%p stdin reader: loaded = %d, ret = %d",
39 sit
, sit
->loaded
, t
->ret
);