summaryrefslogtreecommitdiffstats
path: root/server/spice_timer_queue.c
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2013-08-13 15:40:16 -0400
committerYonit Halperin <yhalperi@redhat.com>2013-08-14 11:07:17 -0400
commitc1c08c289883455f025836f14eda7bfd86442ed7 (patch)
treeaac9d204a8996d29704ccd205ea05c3f2974fe47 /server/spice_timer_queue.c
parentee382109a6d59c3e6591d49f9e25a6314d0d5b5f (diff)
downloadspice-c1c08c289883455f025836f14eda7bfd86442ed7.tar.gz
spice-c1c08c289883455f025836f14eda7bfd86442ed7.tar.xz
spice-c1c08c289883455f025836f14eda7bfd86442ed7.zip
spice_timer_queue: don't call timers repeatedly
For channels that don't run as part of the main loop, we use spice_timer_queue, while for the other channels we use qemu timers support. The callbacks for setting timers are supplied to red_channel via SpiceCoreInterface, and their behavior should be consistent. qemu timers are called only once per each call to timer_start. This patch assigns the same behaviour to spice_timer_queue.
Diffstat (limited to 'server/spice_timer_queue.c')
-rw-r--r--server/spice_timer_queue.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/server/spice_timer_queue.c b/server/spice_timer_queue.c
index 833ab1d1..8f6e9c8e 100644
--- a/server/spice_timer_queue.c
+++ b/server/spice_timer_queue.c
@@ -261,9 +261,7 @@ void spice_timer_queue_cb(void)
break;
} else {
timer->func(timer->opaque);
- if (timer->is_active) {
- _spice_timer_set(timer, timer->ms, now_ms);
- }
+ spice_timer_cancel(timer);
}
}
}