1. 24 Feb, 2016 17 commits
  2. 23 Feb, 2016 5 commits
  3. 22 Feb, 2016 4 commits
  4. 20 Feb, 2016 1 commit
  5. 19 Feb, 2016 5 commits
    • Nick Mathewson's avatar
      Port timeout.c to platforms without __builtin_c[tl]z · 7311ebae
      Nick Mathewson authored
      This patch includes an intrinsic implementation for these functions
      when the compiler is GCC, Clang, or MSVC--or if the compiler claims
      to be one of those.  Otherwise, a naive implementation is used.
      
      Tests are included for all of these functions, which turned up a
      possible problem: according to the gcc documentation, __builtin_ctz
      and __builtin_clz give an undefined result when their inputs is
      zero.  I was not able to persuade myself that we always called them
      with a nonzero argument.
      7311ebae
    • Nick Mathewson's avatar
      Make the 'timeouts' field in struct timeout optional. · e7c5a9e0
      Nick Mathewson authored
      This field eats a pointer for every struct timeout, and it only
      exists in order to enable a set of APIs that omit the 'struct
      timeouts' object. For some applications, the convenience of these
      APIs is not worth the memory overhead. This patch makes it so
      that applications can disable those APIs, and save some memory, by
      defining TIMEOUT_DISABLE_RELATIVE_ACCESS at compile time.
      e7c5a9e0
    • Nick Mathewson's avatar
      Allow the user to disable interval support at compilation time · 6186b353
      Nick Mathewson authored
      Some users only need plain timeouts.  They shouldn't have to pay the
      overhead for a field they will never set.  With this patch, they can
      define TIMEOUT_DISABLE_INTERVALS and turn off the feature at compile
      time.
      6186b353
    • Nick Mathewson's avatar
      Implement a function to iterate over all pending timeouts · efb357a4
      Nick Mathewson authored
      Libevent needed this, and I expect that others will too.
      efb357a4
    • Nick Mathewson's avatar
      Enable user code to override struct timeout_cb · 134f855a
      Nick Mathewson authored
      I've found that frequently a void function and a pointer are either
      more or less than we want to attach to each timeout object.  This
      patch makes it so that the user can define TIMEOUT_CB_OVERRIDE to
      indicate that they have included their own definition of struct
      timeout_cb.
      134f855a
  6. 03 Feb, 2014 5 commits
  7. 01 Feb, 2014 3 commits