]> git.proxmox.com Git - qemu.git/commitdiff
qemu-timer: use atexit for quit_timers
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 19 Sep 2011 08:18:51 +0000 (10:18 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 21 Oct 2011 16:14:30 +0000 (18:14 +0200)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
qemu-timer.c
qemu-timer.h
vl.c

index d8507e3e0f3f014f7a8004cfd45796f4e5318e1e..7fa81e1d0100e8c73dba3767e2819e49311b3c31 100644 (file)
@@ -840,6 +840,13 @@ static void alarm_timer_on_change_state_rearm(void *opaque, int running,
         qemu_rearm_alarm_timer((struct qemu_alarm_timer *) opaque);
 }
 
+static void quit_timers(void)
+{
+    struct qemu_alarm_timer *t = alarm_timer;
+    alarm_timer = NULL;
+    t->stop(t);
+}
+
 int init_timer_alarm(void)
 {
     struct qemu_alarm_timer *t = NULL;
@@ -859,6 +866,7 @@ int init_timer_alarm(void)
     }
 
     /* first event is at time 0 */
+    atexit(quit_timers);
     t->pending = 1;
     alarm_timer = t;
     qemu_add_vm_change_state_handler(alarm_timer_on_change_state_rearm, t);
@@ -869,13 +877,6 @@ fail:
     return err;
 }
 
-void quit_timers(void)
-{
-    struct qemu_alarm_timer *t = alarm_timer;
-    alarm_timer = NULL;
-    t->stop(t);
-}
-
 int qemu_calculate_timeout(void)
 {
     return 1000;
index ce576b90a47d5f4be7c00ab1a1e674903ba166a6..b4ea2015ea651f087977db2fdf0165364f4a2114 100644 (file)
@@ -62,7 +62,6 @@ void configure_alarms(char const *opt);
 int qemu_calculate_timeout(void);
 void init_clocks(void);
 int init_timer_alarm(void);
-void quit_timers(void);
 
 int64_t cpu_get_ticks(void);
 void cpu_enable_ticks(void);
diff --git a/vl.c b/vl.c
index 66f70fb6ae08ef2077793e724894f7c1079375ee..6bd7e7158a4262b486f54839b4e402eebdd4245a 100644 (file)
--- a/vl.c
+++ b/vl.c
@@ -3565,7 +3565,6 @@ int main(int argc, char **argv, char **envp)
     os_setup_post();
 
     main_loop();
-    quit_timers();
     net_cleanup();
     res_free();