[tor-commits] [tor/master] sched: BUG() on event_add() and log_warn next_run

nickm at torproject.org nickm at torproject.org
Mon Sep 18 15:02:42 UTC 2017


commit c7af923567bca5b0a6e9dcd5ceda4b01be09f9a1
Author: David Goulet <dgoulet at torproject.org>
Date:   Mon Sep 18 10:58:38 2017 -0400

    sched: BUG() on event_add() and log_warn next_run
    
    It is highly unlikely to happen but if so, we need to know and why. The
    warning with the next_run values could help.
    
    Signed-off-by: David Goulet <dgoulet at torproject.org>
---
 src/or/scheduler.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/or/scheduler.c b/src/or/scheduler.c
index 2d6f7fc4b..43fff2bf2 100644
--- a/src/or/scheduler.c
+++ b/src/or/scheduler.c
@@ -506,7 +506,11 @@ scheduler_ev_add(const struct timeval *next_run)
 {
   tor_assert(run_sched_ev);
   tor_assert(next_run);
-  event_add(run_sched_ev, next_run);
+  if (BUG(event_add(run_sched_ev, next_run) < 0)) {
+    log_warn(LD_SCHED, "Adding to libevent failed. Next run time was set to: "
+                       "%ld.%06ld", next_run->tv_sec, next_run->tv_usec);
+    return;
+  }
 }
 
 /* Make the scheduler event active with the given flags. */





More information about the tor-commits mailing list