From 7c7db75576bd5a31508208f153c5aada64b2c8df Mon Sep 17 00:00:00 2001 From: Stefano Stabellini Date: Fri, 13 Apr 2012 19:35:04 +0100 Subject: main_loop_wait: block indefinitely - remove qemu_calculate_timeout; - explicitly size timeout to uint32_t; - introduce slirp_update_timeout; - pass NULL as timeout argument to select in case timeout is the maximum value; Signed-off-by: Stefano Stabellini Acked-by: Paul Brook Signed-off-by: Anthony Liguori --- slirp/slirp.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'slirp/slirp.c') diff --git a/slirp/slirp.c b/slirp/slirp.c index 1502830978..90473eb74a 100644 --- a/slirp/slirp.c +++ b/slirp/slirp.c @@ -258,6 +258,13 @@ void slirp_cleanup(Slirp *slirp) #define CONN_CANFRCV(so) (((so)->so_state & (SS_FCANTRCVMORE|SS_ISFCONNECTED)) == SS_ISFCONNECTED) #define UPD_NFDS(x) if (nfds < (x)) nfds = (x) +void slirp_update_timeout(uint32_t *timeout) +{ + if (!QTAILQ_EMPTY(&slirp_instances)) { + *timeout = MIN(1000, *timeout); + } +} + void slirp_select_fill(int *pnfds, fd_set *readfds, fd_set *writefds, fd_set *xfds) { -- cgit v1.2.1