Hi, This patchset adds new interfaces to work with iohandlers. It adds:
int assign_fd_handlers(int fd, IOHandlerOps *ops, void *opaque) -- Specify io handlers for an fd int remove_fd_handlers(int fd) -- Remove fd handlers for fd (mark ioh for deletion) int set_read_poll_fd_action(int fd, bool enable) -- Enable or disable the fd_read_poll fd handler int set_read_fd_action(int fd, bool enable) -- Enable or disable the fd_read fd handler int set_write_fd_action(int fd, bool enable) -- Enable or disable the fd_read fd handler A new struct, IOHandlerOps, is added, to collect all the ops together instead of passing individual ones to functions. The older function, qemu_set_fd_handler2(), is now a wrapper to assign_fd_handlers() and can be deprecated by converting the existing usage to assign_fd_handlers(). Please apply. Amit Shah (5): iohandlers: Avoid code duplication iohandlers: Introduce assign_fd_handlers() and remove_fd_handlers iohandlers: Allow each iohandler to be enabled/disabled individually iohandlers: Enable an iohandler only if the associated handler exists iohandlers: Add IOHandlerOps struct qemu-char.h | 7 +++ vl.c | 162 +++++++++++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 136 insertions(+), 33 deletions(-) -- 1.7.3.4