diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2009-06-24 14:42:30 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-06-29 08:52:49 -0500 |
commit | d918f23efaf486293b96418fe5deaff8a5583304 (patch) | |
tree | 59fa071ef2883a5c1a92c305cee42864b8236b3e /vl.c | |
parent | 8ec7f4edcfcca6ef5d197f1d9323137ece5f7a89 (diff) |
slirp: Kill slirp_is_inited
Avoid the need for slirp_is_inited by refactoring the protected
slirp_select_* functions. This also avoids the clearing of all fd sets
on select errors.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'vl.c')
-rw-r--r-- | vl.c | 23 |
1 files changed, 5 insertions, 18 deletions
@@ -165,9 +165,7 @@ int main(int argc, char **argv) #include "qemu_socket.h" -#if defined(CONFIG_SLIRP) -#include "libslirp.h" -#endif +#include "slirp/libslirp.h" //#define DEBUG_UNUSED_IOPORT //#define DEBUG_IOPORT @@ -4266,11 +4264,8 @@ void main_loop_wait(int timeout) tv.tv_sec = timeout / 1000; tv.tv_usec = (timeout % 1000) * 1000; -#if defined(CONFIG_SLIRP) - if (slirp_is_inited()) { - slirp_select_fill(&nfds, &rfds, &wfds, &xfds); - } -#endif + slirp_select_fill(&nfds, &rfds, &wfds, &xfds); + qemu_mutex_unlock_iothread(); ret = select(nfds + 1, &rfds, &wfds, &xfds, &tv); qemu_mutex_lock_iothread(); @@ -4297,16 +4292,8 @@ void main_loop_wait(int timeout) pioh = &ioh->next; } } -#if defined(CONFIG_SLIRP) - if (slirp_is_inited()) { - if (ret < 0) { - FD_ZERO(&rfds); - FD_ZERO(&wfds); - FD_ZERO(&xfds); - } - slirp_select_poll(&rfds, &wfds, &xfds); - } -#endif + + slirp_select_poll(&rfds, &wfds, &xfds, (ret < 0)); /* rearm timer, if not periodic */ if (alarm_timer->flags & ALARM_FLAG_EXPIRED) { |