vm/filecopy: support nonblocking fd in read_all
This will be needed to (non blocking) check if data is available on pipe - especially to receive possible error from the other end (which will be introduced sometime later).
This commit is contained in:
parent
4ca3961684
commit
591a89c9d2
@ -75,9 +75,14 @@ int read_all(int fd, void *buf, int size)
|
||||
return 0;
|
||||
}
|
||||
if (ret < 0) {
|
||||
perror_wrapper("read");
|
||||
if (errno != EAGAIN)
|
||||
perror_wrapper("read");
|
||||
return 0;
|
||||
}
|
||||
if (got_read == 0) {
|
||||
// force blocking operation on further reads
|
||||
set_block(fd);
|
||||
}
|
||||
got_read += ret;
|
||||
}
|
||||
// fprintf(stderr, "read %d bytes\n", size);
|
||||
|
Loading…
Reference in New Issue
Block a user