Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Sep 12, 2013
  1. @bnoordhuis

    unix, windows: make uv_is_*() always return 0 or 1

    bnoordhuis authored
    Ensure that the following API functions always return either 0 or 1:
      * uv_is_active()
      * uv_is_closing()
      * uv_is_readable()
      * uv_is_writable()
Commits on May 29, 2013
  1. @bnoordhuis

    unix, windows: run expired timers in run-once mode

    bnoordhuis authored
    Before this commit, creating an event loop, starting a timer and
    calling uv_run(UV_RUN_ONCE) blocked in uv_run() until the timer
    expired - but didn't actually run the timer.
Commits on Mar 21, 2013
  1. @bnoordhuis

    unix: make timers handle large timeouts

    bnoordhuis authored
    This commit fixes two closely related integer overflow bugs:
    * Timers with a timeout > INT_MAX cause uv__next_timeout() to return
      a negative value.
    * Timers with very large timeouts (close or equal to ULLONG_MAX) run on
      the next tick.
    In both cases, clamp the values to prevent the overflow from happening.
    Fixes joyent/node#5101.
Commits on Feb 20, 2013
  1. @bnoordhuis

    unix, windows: make uv_now() return uint64_t

    bnoordhuis authored
    Using int64_t doesn't make sense here because the return value is never
Commits on Jan 16, 2013
  1. @bnoordhuis

    unix, windows: rename uv_run2 to uv_run

    bnoordhuis authored
    This changes the prototype of uv_run() from:
      int uv_run(uv_loop_t* loop);
      int uv_run(uv_loop_t* loop, uv_run_mode mode);
    Fixes #683.
Commits on Nov 2, 2012
  1. @bnoordhuis
Commits on May 26, 2012
  1. @bnoordhuis

    unix: update timer if already active

    bnoordhuis authored
    uv_timer_start() no longer returns an error when the timer is already active,
    now it just updates the timer. Consistent with the uv-win implementation.
    Fixes #425.
Commits on May 25, 2012
  1. @bnoordhuis
Commits on May 17, 2012
  1. @bnoordhuis

    unix, windows: rework reference counting scheme

    bnoordhuis authored
    This commit changes how the event loop determines if it needs to stay alive.
    Previously, an internal counter was increased whenever a handle got created
    and decreased again when the handle was closed.
    While conceptually simple, it turned out hard to work with: you often want
    to keep the event loop alive only if the handle is actually doing something.
    Stopped or inactive handles were a frequent source of hanging event loops.
    That's why this commit changes the reference counting scheme to a model where
    a handle only references the event loop when it's active. 'Active' means
    different things for different handle types, e.g.:
     * timers: ticking
     * sockets: reading, writing or listening
     * processes: always active (for now, subject to change)
     * idle, check, prepare: only active when started
    This commit also changes how the uv_ref() and uv_unref() functions work: they
    now operate on the level of individual handles, not the whole event loop.
    The Windows implementation was done by Bert Belder.
Commits on Jan 18, 2012
  1. @bnoordhuis
Commits on Jan 13, 2012
  1. @bnoordhuis
Something went wrong with that request. Please try again.