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


Reply via email to