- if (libc.main_thread) {
- pthread_cleanup_push(cleanup, f);
- cnt = syscall_cp(SYS_readv, f->fd, iov, 2);
- pthread_cleanup_pop(0);
- } else {
- cnt = syscall(SYS_readv, f->fd, iov, 2);
- }
+ cnt = iov[0].iov_len ? syscall(SYS_readv, f->fd, iov, 2)
+ : syscall(SYS_read, f->fd, iov[1].iov_base, iov[1].iov_len);