Il 29/04/2012 19:15, Stefan Weil ha scritto: > The timeout argument was unused up to now, > but it can be used to reduce the poll_timeout when it is infinite > (negative value) or larger than timeout. > > Signed-off-by: Stefan Weil <s...@weilnetz.de> > --- > main-loop.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/main-loop.c b/main-loop.c > index 24cf540..eb3b6e6 100644 > --- a/main-loop.c > +++ b/main-loop.c > @@ -425,7 +425,7 @@ static int os_host_main_loop_wait(uint32_t timeout) > if (nfds >= 0) { > ret = select(nfds + 1, &rfds, &wfds, &xfds, &tv0); > if (ret != 0) { > - /* TODO. */ > + timeout = 0; > } > } > > @@ -439,6 +439,10 @@ static int os_host_main_loop_wait(uint32_t timeout) > poll_fds[n_poll_fds + i].events = G_IO_IN; > } > > + if (poll_timeout < 0 || timeout < poll_timeout) { > + poll_timeout = timeout; > + } > + > qemu_mutex_unlock_iothread(); > ret = g_poll(poll_fds, n_poll_fds + w->num, poll_timeout); > qemu_mutex_lock_iothread();
Reviewed-by: Paolo Bonzini <pbonz...@redhat.com>