[Spice-devel] [PATCH] avoid to call red_get_streams_timout twice computing timeout
Jonathon Jongsma
jjongsma at redhat.com
Thu Sep 3 06:36:38 PDT 2015
ACK
On Fri, 2015-08-21 at 11:16 +0100, Frediano Ziglio wrote:
> Due to how the MIN macro is defined the function was called twice
> unless the compiler could demonstrate that was returning the same
> value (which actually is impossible as function as clock_gettime
> are not deterministic).
>
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
> server/red_worker.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/server/red_worker.c b/server/red_worker.c
> index ccba8a3..7460614 100644
> --- a/server/red_worker.c
> +++ b/server/red_worker.c
> @@ -12188,11 +12188,12 @@ SPICE_GNUC_NORETURN void *red_worker_main(void *arg)
>
> for (;;) {
> int i, num_events;
> - unsigned int timers_queue_timeout;
> + unsigned int timeout;
>
> - timers_queue_timeout = spice_timer_queue_get_timeout_ms();
> - worker->event_timeout = MIN(red_get_streams_timout(worker), worker->event_timeout);
> - worker->event_timeout = MIN(timers_queue_timeout, worker->event_timeout);
> + timeout = spice_timer_queue_get_timeout_ms();
> + worker->event_timeout = MIN(timeout, worker->event_timeout);
> + timeout = red_get_streams_timout(worker);
> + worker->event_timeout = MIN(timeout, worker->event_timeout);
> num_events = poll(worker->poll_fds, MAX_EVENT_SOURCES, worker->event_timeout);
> red_handle_streams_timout(worker);
> spice_timer_queue_cb();
More information about the Spice-devel
mailing list