From 8a8c61641ed6638e7f4077610095d3d72b72eba5 Mon Sep 17 00:00:00 2001 From: emax Date: Mon, 20 Apr 2009 17:11:21 +0000 Subject: [PATCH] MFC r191232 Fix bug in event timeout handling Submitted by: mav Approved by: re (kib) git-svn-id: svn://svn.freebsd.org/base/releng/7.2@191328 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- 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 253084e9..159f90c8 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; -- 2.42.0