From f4c84e862877a0f2f13aa33665b8b4d5adb795ca Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Thu, 20 Sep 2007 18:27:01 +0000 Subject: [PATCH] r15220@catbus: nickm | 2007-09-20 14:22:57 -0400 Another patch from Trond: Skip calling gettime() in timeout_process if we have no events in the timetree. svn:r445 --- ChangeLog | 3 ++- event.c | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2bcfa58a..84879a33 100644 --- a/ChangeLog +++ b/ChangeLog @@ -20,4 +20,5 @@ Changes in current version: o Add an evutil module (with header evutil.h) to implement our standard cross-platform hacks, on the theory that somebody else would like to use them too. o Fix signals implementation on windows. o Fix http module on windows to close sockets properly. - o Make autogen.sh script run correctly on systems where /bin/sh isn't bash. (Patch from Trond Norbye, rewritten by Hagne Mahre and then Hannah Schroeter.) \ No newline at end of file + o Make autogen.sh script run correctly on systems where /bin/sh isn't bash. (Patch from Trond Norbye, rewritten by Hagne Mahre and then Hannah Schroeter.) + o Skip calling gettime() in timeout_process if we are not in fact waiting for any events. (Patch from Trond Norbye) diff --git a/event.c b/event.c index 2af11a7d..4568ebb0 100644 --- a/event.c +++ b/event.c @@ -807,6 +807,9 @@ timeout_process(struct event_base *base) struct timeval now; struct event *ev, *next; + if (RB_EMPTY(&base->timetree)) + return; + gettime(&now); for (ev = RB_MIN(event_tree, &base->timetree); ev; ev = next) { -- 2.50.1