qemu-timer: make initialization functions idempotent

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2012-10-29 15:26:28 +01:00
parent dbb5f3802e
commit 744ca8e375

View file

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