From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:33553) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RHHw0-0004IB-Pc for qemu-devel@nongnu.org; Fri, 21 Oct 2011 12:27:06 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RHHvy-0007RL-8X for qemu-devel@nongnu.org; Fri, 21 Oct 2011 12:27:04 -0400 Received: from mail-wy0-f173.google.com ([74.125.82.173]:42812) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RHHvx-0007PO-PK for qemu-devel@nongnu.org; Fri, 21 Oct 2011 12:27:02 -0400 Received: by mail-wy0-f173.google.com with SMTP id 15so4719090wyh.4 for ; Fri, 21 Oct 2011 09:27:01 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Fri, 21 Oct 2011 18:26:41 +0200 Message-Id: <1319214405-20388-10-git-send-email-pbonzini@redhat.com> In-Reply-To: <1319214405-20388-1-git-send-email-pbonzini@redhat.com> References: <1319214405-20388-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH v3 09/13] qemu-timer: do not use RunState change handlers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Signed-off-by: Paolo Bonzini --- qemu-timer.c | 12 ++++-------- 1 files changed, 4 insertions(+), 8 deletions(-) diff --git a/qemu-timer.c b/qemu-timer.c index 58926dd..f11a28d 100644 --- a/qemu-timer.c +++ b/qemu-timer.c @@ -273,7 +273,11 @@ static QEMUClock *qemu_new_clock(int type) void qemu_clock_enable(QEMUClock *clock, int enabled) { + bool old = clock->enabled; clock->enabled = enabled; + if (enabled && !old) { + qemu_rearm_alarm_timer(alarm_timer); + } } int64_t qemu_clock_has_timers(QEMUClock *clock) @@ -806,13 +810,6 @@ static void win32_rearm_timer(struct qemu_alarm_timer *t, #endif /* _WIN32 */ -static void alarm_timer_on_change_state_rearm(void *opaque, int running, - RunState state) -{ - if (running) - qemu_rearm_alarm_timer((struct qemu_alarm_timer *) opaque); -} - static void quit_timers(void) { struct qemu_alarm_timer *t = alarm_timer; @@ -842,7 +839,6 @@ int init_timer_alarm(void) atexit(quit_timers); t->pending = 1; alarm_timer = t; - qemu_add_vm_change_state_handler(alarm_timer_on_change_state_rearm, t); return 0; -- 1.7.6