299c326e589ef5e00cc7d8279cacce2db5ef6d33
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
;
34 t
->ret
= -E_STDIN_EOF
;