|
@@ -115,7 +115,8 @@ int coroutine_mixed_fn qio_channel_readv_all_eof(QIOChannel *ioc,
|
|
size_t niov,
|
|
size_t niov,
|
|
Error **errp)
|
|
Error **errp)
|
|
{
|
|
{
|
|
- return qio_channel_readv_full_all_eof(ioc, iov, niov, NULL, NULL, errp);
|
|
|
|
|
|
+ return qio_channel_readv_full_all_eof(ioc, iov, niov, NULL, NULL, 0,
|
|
|
|
+ errp);
|
|
}
|
|
}
|
|
|
|
|
|
int coroutine_mixed_fn qio_channel_readv_all(QIOChannel *ioc,
|
|
int coroutine_mixed_fn qio_channel_readv_all(QIOChannel *ioc,
|
|
@@ -130,6 +131,7 @@ int coroutine_mixed_fn qio_channel_readv_full_all_eof(QIOChannel *ioc,
|
|
const struct iovec *iov,
|
|
const struct iovec *iov,
|
|
size_t niov,
|
|
size_t niov,
|
|
int **fds, size_t *nfds,
|
|
int **fds, size_t *nfds,
|
|
|
|
+ int flags,
|
|
Error **errp)
|
|
Error **errp)
|
|
{
|
|
{
|
|
int ret = -1;
|
|
int ret = -1;
|
|
@@ -155,7 +157,7 @@ int coroutine_mixed_fn qio_channel_readv_full_all_eof(QIOChannel *ioc,
|
|
while ((nlocal_iov > 0) || local_fds) {
|
|
while ((nlocal_iov > 0) || local_fds) {
|
|
ssize_t len;
|
|
ssize_t len;
|
|
len = qio_channel_readv_full(ioc, local_iov, nlocal_iov, local_fds,
|
|
len = qio_channel_readv_full(ioc, local_iov, nlocal_iov, local_fds,
|
|
- local_nfds, 0, errp);
|
|
|
|
|
|
+ local_nfds, flags, errp);
|
|
if (len == QIO_CHANNEL_ERR_BLOCK) {
|
|
if (len == QIO_CHANNEL_ERR_BLOCK) {
|
|
if (qemu_in_coroutine()) {
|
|
if (qemu_in_coroutine()) {
|
|
qio_channel_yield(ioc, G_IO_IN);
|
|
qio_channel_yield(ioc, G_IO_IN);
|
|
@@ -222,7 +224,8 @@ int coroutine_mixed_fn qio_channel_readv_full_all(QIOChannel *ioc,
|
|
int **fds, size_t *nfds,
|
|
int **fds, size_t *nfds,
|
|
Error **errp)
|
|
Error **errp)
|
|
{
|
|
{
|
|
- int ret = qio_channel_readv_full_all_eof(ioc, iov, niov, fds, nfds, errp);
|
|
|
|
|
|
+ int ret = qio_channel_readv_full_all_eof(ioc, iov, niov, fds, nfds, 0,
|
|
|
|
+ errp);
|
|
|
|
|
|
if (ret == 0) {
|
|
if (ret == 0) {
|
|
error_setg(errp, "Unexpected end-of-file before all data were read");
|
|
error_setg(errp, "Unexpected end-of-file before all data were read");
|