qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 09/19] remove qemu_rearm_alarm_timer from main loop


From: Paolo Bonzini
Subject: [Qemu-devel] [PATCH 09/19] remove qemu_rearm_alarm_timer from main loop
Date: Mon, 21 Dec 2009 09:09:20 +0100

Make the timer subsystem register its own callback instead.

Signed-off-by: Paolo Bonzini <address@hidden>
---
 vl.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/vl.c b/vl.c
index c32dc5d..78807f5 100644
--- a/vl.c
+++ b/vl.c
@@ -1421,6 +1421,12 @@ static void win32_rearm_timer(struct qemu_alarm_timer *t)
 
 #endif /* _WIN32 */
 
+static void alarm_timer_on_change_state_rearm(void *opaque, int running, int 
reason)
+{
+    if (running)
+        qemu_rearm_alarm_timer((struct qemu_alarm_timer *) opaque);
+}
+
 static int init_timer_alarm(void)
 {
     struct qemu_alarm_timer *t = NULL;
@@ -1442,6 +1448,7 @@ static int init_timer_alarm(void)
     /* first event is at time 0 */
     t->pending = 1;
     alarm_timer = t;
+    qemu_add_vm_change_state_handler(alarm_timer_on_change_state_rearm, t);
 
     return 0;
 
@@ -3094,7 +3101,6 @@ void vm_start(void)
         cpu_enable_ticks();
         vm_running = 1;
         vm_state_notify(1, 0);
-        qemu_rearm_alarm_timer(alarm_timer);
         resume_all_vcpus();
     }
 }
-- 
1.6.5.2






reply via email to

[Prev in Thread] Current Thread [Next in Thread]