Commit f1d99bbdcd395651e9c1ee71825e29b503f4129a
Committed by
Anthony Liguori
1 parent
d6cf84e1
slirp: Clean up timeout handling around slirp_select_fill/poll
Again lot of dead code. Remove it. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Showing
3 changed files
with
4 additions
and
39 deletions
slirp/misc.c
slirp/misc.h
slirp/slirp.c
... | ... | @@ -52,13 +52,16 @@ static struct in_addr client_ipaddr; |
52 | 52 | static const uint8_t zero_ethaddr[6] = { 0, 0, 0, 0, 0, 0 }; |
53 | 53 | |
54 | 54 | int slirp_restrict; |
55 | -static int do_slowtimo; | |
56 | 55 | int link_up; |
57 | 56 | struct ex_list *exec_list; |
58 | 57 | |
59 | 58 | /* XXX: suppress those select globals */ |
60 | 59 | fd_set *global_readfds, *global_writefds, *global_xfds; |
61 | 60 | |
61 | +u_int curtime; | |
62 | +static u_int time_fasttimo, last_slowtimo; | |
63 | +static int do_slowtimo; | |
64 | + | |
62 | 65 | char slirp_hostname[33]; |
63 | 66 | |
64 | 67 | #ifdef _WIN32 |
... | ... | @@ -267,9 +270,7 @@ void slirp_select_fill(int *pnfds, |
267 | 270 | fd_set *readfds, fd_set *writefds, fd_set *xfds) |
268 | 271 | { |
269 | 272 | struct socket *so, *so_next; |
270 | - struct timeval timeout; | |
271 | 273 | int nfds; |
272 | - int tmp_time; | |
273 | 274 | |
274 | 275 | if (!link_up) { |
275 | 276 | return; |
... | ... | @@ -380,39 +381,6 @@ void slirp_select_fill(int *pnfds, |
380 | 381 | } |
381 | 382 | } |
382 | 383 | |
383 | - /* | |
384 | - * Setup timeout to use minimum CPU usage, especially when idle | |
385 | - */ | |
386 | - | |
387 | - /* | |
388 | - * First, see the timeout needed by *timo | |
389 | - */ | |
390 | - timeout.tv_sec = 0; | |
391 | - timeout.tv_usec = -1; | |
392 | - /* | |
393 | - * If a slowtimo is needed, set timeout to 500ms from the last | |
394 | - * slow timeout. If a fast timeout is needed, set timeout within | |
395 | - * 200ms of when it was requested. | |
396 | - */ | |
397 | - if (do_slowtimo) { | |
398 | - /* XXX + 10000 because some select()'s aren't that accurate */ | |
399 | - timeout.tv_usec = ((500 - (curtime - last_slowtimo)) * 1000) + 10000; | |
400 | - if (timeout.tv_usec < 0) | |
401 | - timeout.tv_usec = 0; | |
402 | - else if (timeout.tv_usec > 510000) | |
403 | - timeout.tv_usec = 510000; | |
404 | - | |
405 | - /* Can only fasttimo if we also slowtimo */ | |
406 | - if (time_fasttimo) { | |
407 | - tmp_time = (200 - (curtime - time_fasttimo)) * 1000; | |
408 | - if (tmp_time < 0) | |
409 | - tmp_time = 0; | |
410 | - | |
411 | - /* Choose the smallest of the 2 */ | |
412 | - if (tmp_time < timeout.tv_usec) | |
413 | - timeout.tv_usec = (u_int)tmp_time; | |
414 | - } | |
415 | - } | |
416 | 384 | *pnfds = nfds; |
417 | 385 | } |
418 | 386 | ... | ... |