This series aims to port slirp onto GSource, so that it can be driven by g_main_dispatch. And clean up the #ifdef in main-loop.
Liu Ping Fan (5): util: introduce gsource event abstraction slirp: make timeout local slirp: make slirp event dispatch based on slirp instance slirp: decouple timeout for gpoll slirp: fold curtime into slirp instance main-loop.c | 7 - net/slirp.c | 24 +++ slirp/ip_icmp.c | 4 +- slirp/libslirp.h | 9 +- slirp/main.h | 1 - slirp/misc.c | 4 +- slirp/slirp.c | 586 +++++++++++++++++++++++---------------------------- slirp/slirp.h | 4 + slirp/socket.c | 10 +- slirp/socket.h | 1 + slirp/tcp_subr.c | 2 +- slirp/tftp.c | 4 +- slirp/udp.c | 4 +- stubs/Makefile.objs | 1 - stubs/slirp.c | 15 -- util/Makefile.objs | 1 + util/event_gsource.c | 94 +++++++++ util/event_gsource.h | 37 ++++ 18 files changed, 447 insertions(+), 361 deletions(-) delete mode 100644 stubs/slirp.c create mode 100644 util/event_gsource.c create mode 100644 util/event_gsource.h -- 1.8.1.4