From patchwork Mon Oct 29 18:07:15 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [08/11] qemu-timer: make initialization functions idempotent From: Paolo Bonzini X-Patchwork-Id: 195104 Message-Id: <1351534038-15503-9-git-send-email-pbonzini@redhat.com> To: qemu-devel@nongnu.org Date: Mon, 29 Oct 2012 19:07:15 +0100 Signed-off-by: Paolo Bonzini --- qemu-timer.c | 12 +++++++++--- 1 file modificato, 9 inserzioni(+), 3 rimozioni(-) diff --git a/qemu-timer.c b/qemu-timer.c index ede84ff..f3426c9 100644 --- a/qemu-timer.c +++ b/qemu-timer.c @@ -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];