From dba59455b37a04e1595060600abd650bb0b4f785 Mon Sep 17 00:00:00 2001 From: Maksim Yevmenkin Date: Fri, 17 Apr 2009 23:33:30 +0000 Subject: [PATCH] Fix bug in event timeout handling Submitted by: mav MFC after: 3 days --- usr.sbin/bluetooth/btpand/event.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/usr.sbin/bluetooth/btpand/event.c b/usr.sbin/bluetooth/btpand/event.c index 253084e90c6..159f90c862d 100644 --- a/usr.sbin/bluetooth/btpand/event.c +++ b/usr.sbin/bluetooth/btpand/event.c @@ -110,12 +110,12 @@ __event_dispatch(void) event_del(ev); if (ev->flags & EV_HAS_TIMEOUT) { - t = now; - - if (tv_cmp(&t, &ev->expire) <= 0) + if (tv_cmp(&now, &ev->expire) >= 0) t.tv_sec = t.tv_usec = 0; - else - tv_sub(&t, &ev->expire); + else { + t = ev->expire; + tv_sub(&t, &now); + } if (tv_cmp(&t, &timeout) < 0) timeout = t;