#18365: Fined-grain timer implementation to support per-connection or 
per-circuit
timers
-------------------------------------------------+-------------------------
 Reporter:  nickm                                |          Owner:  nickm
     Type:  enhancement                          |         Status:
 Priority:  Medium                               |  needs_revision
Component:  Core Tor/Tor                         |      Milestone:  Tor:
 Severity:  Normal                               |  0.2.9.x-final
 Keywords:  performance, backend,                |        Version:
  TorCoreTeam201604                              |     Resolution:
Parent ID:                                       |  Actual Points:  medium
 Reviewer:                                       |         Points:  medium
                                                 |        Sponsor:
-------------------------------------------------+-------------------------

Comment (by cypherpunks):

 When running the timers test under Valgrind it ends up in one of the
 warning states. Valgrind then starts reporting there are memory leaks
 because these states return from main without cleaning up. See the
 following patch for a possible fix.
 {{{
 diff --git a/src/test/test-timers.c b/src/test/test-timers.c
 index 2896e49..35906a1 100644
 --- a/src/test/test-timers.c
 +++ b/src/test/test-timers.c
 @@ -59,6 +59,7 @@ main(int argc, char **argv)
    timers_initialize();

    int i;
 +  int ret;
    struct timeval now;
    tor_gettimeofday(&now);
    for (i = 0; i < N_TIMERS; ++i) {
 @@ -109,13 +110,14 @@ main(int argc, char **argv)
    if (mean_diff > 500*1000 || stddev > 500*1000) {
      printf("Either your system is under ridiculous load, or the "
             "timer backend is broken.\n");
 -    return 1;
 +    ret = 1;
    } else if (mean_diff > 2000 || stddev > 2000) {
      printf("Either your system is a bit slow or the "
             "timer backend is odd.\n");
 -    return 0;
 +    ret = 0;
    } else {
      printf("Looks good enough.\n");
 +    ret = 0;
    }

    timer_free(NULL);
 @@ -124,5 +126,5 @@ main(int argc, char **argv)
      timer_free(timers[i]);
    }
    timers_shutdown();
 -  return 0;
 +  return ret;
  }
 }}}
 One nitpick are the magic values in the if statements. Maybe use
 descriptive defines for these?

--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/18365#comment:10>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs

Reply via email to