This carries out the mandate in the comment of qemu_set_fd_handler2 and removes fd_read_poll from the code base, because it will make the work easier to convert ppoll to epoll in main loop, as well as convert iohandler to GSource. Also, the aio interface doesn't have a read poll callback, which means this conversion woule be necessary if we want to move things from main loop to AioContext.
There are five users of the read poll callback now: qemu-nbd, l2tpv3, netmap, socket and tap. Patch 1 adds a stub for qemu_set_fd_handler which will be referenced in coming patches. Patch 2 converts qemu-nbd which compares two global numbers in the fd_read_poll callback. Patches 2~5 converts the four net devices, all of which checks qemu_can_send_packet() in the callback. Patch 6 and 7 finally removes the function. Please review! Fam Zheng (8): stubs: Add qemu_set_fd_handler qemu-nbd: Switch to qemu_set_fd_handler l2tpv3: Drop l2tpv3_can_send netmap: Drop netmap_can_send net/socket: Drop net_socket_can_send tap: Drop tap_can_send Change qemu_set_fd_handler2(..., NULL, ...) to qemu_set_fd_handler main-loop: Drop qemu_set_fd_handler2 blockdev-nbd.c | 4 ++-- include/block/aio.h | 2 +- include/qemu/main-loop.h | 49 +----------------------------------------------- iohandler.c | 26 +++++-------------------- main-loop.c | 3 +-- migration/exec.c | 6 +++--- migration/fd.c | 4 ++-- migration/rdma.c | 7 +++---- migration/tcp.c | 6 +++--- migration/unix.c | 6 +++--- net/l2tpv3.c | 17 ++++------------- net/netmap.c | 20 +++++--------------- net/socket.c | 37 +++++++++++++++++++++--------------- net/tap.c | 29 ++++++++++++++-------------- qemu-nbd.c | 21 +++++++++++++++++---- stubs/set-fd-handler.c | 9 ++++----- ui/vnc-auth-sasl.c | 2 +- ui/vnc-auth-vencrypt.c | 2 +- ui/vnc-ws.c | 6 +++--- ui/vnc.c | 27 ++++++++++++-------------- util/qemu-sockets.c | 8 +++----- 21 files changed, 110 insertions(+), 181 deletions(-) -- 1.9.3