From patchwork Wed Oct 31 15:30:25 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paolo Bonzini X-Patchwork-Id: 195932 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id C97E42C0216 for ; Thu, 1 Nov 2012 03:30:28 +1100 (EST) Received: from localhost ([::1]:58357 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTaH7-0007qF-Lv for incoming@patchwork.ozlabs.org; Wed, 31 Oct 2012 11:32:13 -0400 Received: from eggs.gnu.org ([208.118.235.92]:46210) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTaGg-00073U-K0 for qemu-devel@nongnu.org; Wed, 31 Oct 2012 11:31:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TTaGa-00052s-EQ for qemu-devel@nongnu.org; Wed, 31 Oct 2012 11:31:46 -0400 Received: from mail-pa0-f45.google.com ([209.85.220.45]:55215) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TTaGa-0004oe-8H for qemu-devel@nongnu.org; Wed, 31 Oct 2012 11:31:40 -0400 Received: by mail-pa0-f45.google.com with SMTP id fb10so1006039pad.4 for ; Wed, 31 Oct 2012 08:31:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=BTdpbd1JjlWzvNHy9pvA46TKdCBzjL3yf87nkdlNrxY=; b=LbI9KmsWRjFOvWfnvjz+gOppP7Kl9EKWZLvon7Xjjrffok6Lf3iL4Jrv67IkmglFoM ZwyMgL9/zyhlEhv9CR6scjnXHtpHj0WILZofnkeaIykNBPavY3UsLzM0l4fmxR8ZB2IV IhLqyvqlw5qR3MxJpO9mMwT/ZuqeKwSVyVP9bqEm9p6JKCcV+7QRkZJLdmZHCg2yL5Mi rOHHvGs6y3POtjfozr2vYBQ06nAM0aymTSgsNnhSia9vcr+sspZTDxSGcohhShOvNTO3 JzkUQaWJq7Ay0jjUN+Dsq0DD840N0qamFap1tCAULRsiv5bZILsAUHFF5SKShjB/n0/F y8bg== Received: by 10.69.0.40 with SMTP id av8mr113903108pbd.117.1351697499856; Wed, 31 Oct 2012 08:31:39 -0700 (PDT) Received: from yakj.usersys.redhat.com (93-34-169-1.ip50.fastwebnet.it. [93.34.169.1]) by mx.google.com with ESMTPS id sz6sm2445230pbc.52.2012.10.31.08.31.37 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 31 Oct 2012 08:31:38 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Date: Wed, 31 Oct 2012 16:30:25 +0100 Message-Id: <1351697456-16107-9-git-send-email-pbonzini@redhat.com> X-Mailer: git-send-email 1.7.12.1 In-Reply-To: <1351697456-16107-1-git-send-email-pbonzini@redhat.com> References: <1351697456-16107-1-git-send-email-pbonzini@redhat.com> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.220.45 Cc: aliguori@us.ibm.com, stefanha@redhat.com Subject: [Qemu-devel] [PATCH v2 08/39] qemu-timer: make initialization functions idempotent X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org 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 908a103..b71e9a6 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];