]> git.proxmox.com Git - qemu.git/commitdiff
qemu-timer: make initialization functions idempotent
authorPaolo Bonzini <pbonzini@redhat.com>
Mon, 29 Oct 2012 14:26:28 +0000 (15:26 +0100)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 30 Oct 2012 08:18:44 +0000 (09:18 +0100)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
qemu-timer.c

index 908a1030b602248d5b18b407a87131e4385269b6..b71e9a6e6218e9487506aa922a8e091647174011 100644 (file)
@@ -430,9 +430,11 @@ void qemu_unregister_clock_reset_notifier(QEMUClock *clock, Notifier *notifier)
 
 void init_clocks(void)
 {
-    rt_clock = qemu_new_clock(QEMU_CLOCK_REALTIME);
-    vm_clock = qemu_new_clock(QEMU_CLOCK_VIRTUAL);
-    host_clock = qemu_new_clock(QEMU_CLOCK_HOST);
+    if (!rt_clock) {
+        rt_clock = qemu_new_clock(QEMU_CLOCK_REALTIME);
+        vm_clock = qemu_new_clock(QEMU_CLOCK_VIRTUAL);
+        host_clock = qemu_new_clock(QEMU_CLOCK_HOST);
+    }
 }
 
 uint64_t qemu_timer_expire_time_ns(QEMUTimer *ts)
@@ -745,6 +747,10 @@ int init_timer_alarm(void)
     struct qemu_alarm_timer *t = NULL;
     int i, err = -1;
 
+    if (alarm_timer) {
+        return 0;
+    }
+
     for (i = 0; alarm_timers[i].name; i++) {
         t = &alarm_timers[i];