Hello,

This is a new iohandler API implementation.  It gets rid of the
multiple callbacks and switches to just one callback with an event
mask that triggered the callback.

qemu-char.c has been trivially updated to replace all usage of
qemu_set_fd_handler* functions to the new api.

Future work includes removing the qemu_set_fd_handler* functions and
getting rid of #include "qemu-char.h" from all the src files that
don't need it (most of them).

The users of the char api can then be also converted over to a new api
in similar fashion, deprecating the usage of can_read callbacks
altogether.

I tested this series in two scenarios: monitor on stdio and by running
the virtio-serial testsuite, which uses unix sockets and does
open/close/read/write/poll calls on the sockets.  It all works fine.

Please review and apply.

Amit Shah (7):
  iohandlers: Mark current implementation as 'old'
  iohandlers: Introduce a new API
  char: tcp: Use new iohandler api
  char: udp: Use new iohandler api
  char: fd: Use new iohandler api
  char: stdio: Use new iohandler api
  char: pty: Use new iohandler api

 iohandler.h |   28 +++++++++++
 qemu-char.c |  140 +++++++++++++++++++++++++++++++++++++++++++----------
 vl.c        |  154 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 291 insertions(+), 31 deletions(-)
 create mode 100644 iohandler.h

-- 
1.7.4


Reply via email to