Hello,

This version of the series adds proper handling of nonblocking when
the backend managed to flush out some data but not all (ret > 0 && ret
< len).

Just the unix/tcp backends have been updated to be nonblocking, but
it's easy to add support to the other backends, as the last patch in
the series shows.

I'll work on that once this is applied.

The virtio-console code will be the first user of this work, that
series will be sent shortly.

This series depends on the virtio-serial fixes and enhancements series
that I sent out a short while back.

Please review and apply,

Amit Shah (5):
  char: Add a QemuChrHandlers struct to initialise chardev handlers
  char: Introduce char_set/remove_fd_handlers()
  char: Add framework for a 'write unblocked' callback
  char: Update send_all() to handle nonblocking chardev write requests
  char: Equip the unix/tcp backend to handle nonblocking writes

 gdbstub.c            |    9 ++-
 hw/debugcon.c        |    2 +-
 hw/escc.c            |    9 ++-
 hw/etraxfs_ser.c     |   13 +++-
 hw/ivshmem.c         |   28 ++++++--
 hw/mcf_uart.c        |    9 ++-
 hw/pl011.c           |    9 ++-
 hw/pxa2xx.c          |   13 +++-
 hw/serial.c          |    9 ++-
 hw/sh_serial.c       |   12 +++-
 hw/syborg_serial.c   |    9 ++-
 hw/usb-serial.c      |    9 ++-
 hw/virtio-console.c  |    9 ++-
 hw/xen_console.c     |   16 +++--
 hw/xilinx_uartlite.c |   11 +++-
 monitor.c            |   19 ++++-
 net/slirp.c          |    8 ++-
 net/socket.c         |    4 +-
 qemu-char.c          |  196 ++++++++++++++++++++++++++++++++++++++++----------
 qemu-char.h          |   17 ++++-
 qemu_socket.h        |    2 +-
 21 files changed, 321 insertions(+), 92 deletions(-)

-- 
1.7.3.4


Reply via email to