From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=36763 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PnaSv-0006dt-I8 for qemu-devel@nongnu.org; Thu, 10 Feb 2011 12:38:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PnaSt-0004Sg-8p for qemu-devel@nongnu.org; Thu, 10 Feb 2011 12:38:01 -0500 Received: from mail-gw0-f45.google.com ([74.125.83.45]:42619) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PnaSt-0004Qy-2i for qemu-devel@nongnu.org; Thu, 10 Feb 2011 12:37:59 -0500 Received: by mail-gw0-f45.google.com with SMTP id a12so757604gwa.4 for ; Thu, 10 Feb 2011 09:37:58 -0800 (PST) Sender: Paolo Bonzini From: Paolo Bonzini Date: Thu, 10 Feb 2011 18:37:39 +0100 Message-Id: <1297359464-9789-3-git-send-email-pbonzini@redhat.com> In-Reply-To: <1297359464-9789-1-git-send-email-pbonzini@redhat.com> References: <1297359464-9789-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH 2/7] implement win32 dynticks timer List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Blue Swirl Signed-off-by: Paolo Bonzini Cc: Stefan Weil Cc: Blue Swirl --- qemu-timer.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/qemu-timer.c b/qemu-timer.c index b0db780..42960de 100644 --- a/qemu-timer.c +++ b/qemu-timer.c @@ -1006,6 +1006,7 @@ static void win32_stop_timer(struct qemu_alarm_timer *t) static void win32_rearm_timer(struct qemu_alarm_timer *t) { struct qemu_alarm_win32 *data = t->priv; + int nearest_delta_ms; assert(alarm_has_dynticks(t)); if (!active_timers[QEMU_CLOCK_REALTIME] && @@ -1015,7 +1016,10 @@ static void win32_rearm_timer(struct qemu_alarm_timer *t) timeKillEvent(data->timerId); - data->timerId = timeSetEvent(1, + nearest_delta_ms = (qemu_next_alarm_deadline() + 999999) / 1000000; + if (nearest_delta_ms < 1) + nearest_delta_ms = 1; + data->timerId = timeSetEvent(nearest_delta_ms, data->period, host_alarm_handler, (DWORD)t, -- 1.7.3.5