Hi all! The series brings two things:
1. unify code which sets fds blocking/non-blocking through the whole source 2. for fds, which comes from qio_channel_readv_full(), stop making them blocking in generic code, and move this logic to the callers, all except coming from migration qemu-file (see last patch) Vladimir Sementsov-Ogievskiy (10): io/channel: document how qio_channel_readv_full() handles fds char-socket: rework tcp_chr_recv() util: add qemu_set_blocking() function util: drop qemu_socket_set_nonblock() util: drop qemu_socket_try_set_nonblock() util: drop qemu_socket_set_block() use qemu_set_blocking instead of g_unix_set_fd_nonblocking oslib-posix: add qemu_fds_set_blocking() helper qio_channel_readv_full(): move setting fd blocking to callers migration/qemu-file: don't make incoming fds blocking again chardev/char-fd.c | 4 +-- chardev/char-pty.c | 3 +- chardev/char-serial.c | 3 +- chardev/char-socket.c | 45 ++++++++++++------------- chardev/char-stdio.c | 3 +- contrib/ivshmem-server/ivshmem-server.c | 5 ++- hw/hyperv/syndbg.c | 4 ++- hw/input/virtio-input-host.c | 3 +- hw/misc/ivshmem-flat.c | 4 ++- hw/misc/ivshmem-pci.c | 8 ++++- hw/remote/mpqemu-link.c | 3 ++ hw/vfio-user/proxy.c | 4 +++ hw/virtio/vhost-user.c | 10 +++++- hw/virtio/vhost-vsock.c | 8 ++--- include/io/channel.h | 12 +++++++ include/qemu/osdep.h | 8 +++++ include/qemu/sockets.h | 3 -- io/channel-command.c | 9 +++-- io/channel-file.c | 3 +- io/channel-socket.c | 26 +++++++------- net/dgram.c | 28 ++++++++------- net/l2tpv3.c | 5 +-- net/socket.c | 27 ++++++++++----- net/stream.c | 9 ++--- net/stream_data.c | 10 +++--- net/tap-bsd.c | 12 +++++-- net/tap-linux.c | 8 ++++- net/tap-solaris.c | 7 +++- net/tap.c | 21 ++++-------- qga/channel-posix.c | 7 +++- qga/commands-posix.c | 3 +- scsi/qemu-pr-helper.c | 4 +++ tests/qtest/fuzz/virtio_net_fuzz.c | 2 +- tests/qtest/tpm-emu.c | 1 + tests/qtest/vhost-user-test.c | 3 +- tests/unit/socket-helpers.c | 5 ++- tests/unit/test-crypto-tlssession.c | 8 ++--- tests/unit/test-io-channel-socket.c | 1 + tests/unit/test-iov.c | 5 +-- ui/input-linux.c | 3 +- util/event_notifier-posix.c | 5 +-- util/main-loop.c | 6 +++- util/oslib-posix.c | 27 +++++++++------ util/oslib-win32.c | 25 ++++++-------- util/vhost-user-server.c | 9 +++-- 45 files changed, 244 insertions(+), 165 deletions(-) -- 2.48.1