-{
- struct stdout_task *sot = container_of(t, struct stdout_task, task);
- ssize_t ret;
-
- t->error = 0;
- if (!sot->check_fd) {
- if (!*sot->loaded && *sot->input_error < 0)
- t->error = *sot->input_error;
- return;
- }
- if (!FD_ISSET(STDOUT_FILENO, &s->wfds))
- return;
- ret = write(STDOUT_FILENO, *sot->bufp, *sot->loaded);
- if (ret < 0) {
- t->error = -ERRNO_TO_PARA_ERROR(errno);
- return;
- }
- *sot->loaded -= ret;
- if (*sot->loaded)
- memmove(*sot->bufp, *sot->bufp + ret, *sot->loaded);
-}
-
-static void stdout_post_select_btr(struct sched *s, struct task *t)