Commits on Nov 20, 2012
  1. @bnoordhuis

    linux: use /proc/cpuinfo for CPU frequency

    Obtain the CPU frequency from /proc/cpuinfo because there may not be any
    cpufreq info available in /sys. This also means that the reported CPU speed
    from now on is the *maximum* speed, not the *actual* speed the CPU runs at.
    This change only applies to x86 because ARM and MIPS don't report that
    information in /proc/cpuinfo.
    Fixes #588.
    This is a back-port of commit 775064a from the master branch.
    bnoordhuis committed Oct 20, 2012
Commits on Nov 14, 2012
  1. @bnoordhuis

    windows: map WSAESHUTDOWN to UV_EPIPE

    This is a back-port of commit 483043b from the master branch.
    bnoordhuis committed Nov 14, 2012
Commits on Nov 9, 2012
  1. @bnoordhuis

    build: use link_settings, fix typo

    * Use link_settings instead of direct_dependent_settings.
    * Fix typo: s/ldlags/ldflags/
    Pointed out by a certain R.L. Dahl of San Francisco, CA.
    Fixes #618.
    bnoordhuis committed Nov 9, 2012
Commits on Nov 7, 2012
  1. @piscisaureus
Commits on Nov 5, 2012
  1. @bnoordhuis

    test: remove unnecessary #ifdef _WIN32

    This is a back-port of commit 4d17337 from the master branch.
    bnoordhuis committed Nov 6, 2012
  2. @piscisaureus

    windows: un-break the build

    It was broken in fb64948.
    piscisaureus committed Nov 5, 2012
Commits on Nov 3, 2012
  1. @AvianFlu @bnoordhuis

    unix: do not set environ unless one is provided

    Currently, `uv_spawn` will set `environ` to the value of `options.env`, even if
    `options.env` is `NULL`.  This results in child processes for whom `environ ==
    NULL`, which can cause a variety of unexpected issues.
    This is a back-port of commit 1d85815 from the master branch.
    AvianFlu committed with bnoordhuis Nov 1, 2012
Commits on Oct 25, 2012
  1. @bnoordhuis

    include: fix ngx_queue_foreach() macro

    Guard against the possibility that the queue is emptied while we're iterating
    over it. Simple test case:
      #include "ngx-queue.h"
      #include <assert.h>
      int main(void) {
        ngx_queue_t h;
        ngx_queue_t v[2];
        ngx_queue_t* q;
        unsigned n = 0;
        ngx_queue_insert_tail(&h, v + 0);
        ngx_queue_insert_tail(&h, v + 1);
        ngx_queue_foreach(q, &h) {
          ngx_queue_remove(v + 0);
          ngx_queue_remove(v + 1);
        assert(n == 1); // *not* 2
        return 0;
    Fixes #605.
    bnoordhuis committed Oct 25, 2012
Commits on Oct 22, 2012
  1. @bnoordhuis

    linux: update comm field in uv_set_process_title()

    Makes the new process name visible in both `ps` and `ps a`, with the caveat
    that `ps` will only print the first 16 characters.
    Before this commit, `ps` kept reporting the old process name.
    bnoordhuis committed Oct 22, 2012
Commits on Oct 10, 2012
  1. @saghul @piscisaureus
  2. @piscisaureus
  3. @piscisaureus

    windows: fix application crashed popup in debug version

    This is a backport of 2 patches by Ting-Yu Lin and Hiroaki Nakamura.
    piscisaureus committed Oct 10, 2012
Commits on Sep 22, 2012
  1. @piscisaureus
Commits on Sep 21, 2012
  1. @AvianFlu @bnoordhuis

    unix: map EDQUOT to UV_ENOSPC

    AvianFlu committed with bnoordhuis Sep 19, 2012
Commits on Sep 15, 2012
  1. @bnoordhuis

    linux: improve /proc/cpuinfo parser

    Make uv_cpu_info() understand the ARM and MIPS versions of /proc/cpuinfo,
    it only knew how to deal with the x86 version
    This commit also fixes a buglet where uv_cpu_info() reported the maximum CPU
    frequency instead of the actual CPU frequency. That is, before this commit
    `out/Debug/run-tests platform_output | grep speed | sort | uniq -c` on my
    system always reported:
          8   speed: 3400
    Now it reports (for example):
          2   speed: 3400
          6   speed: 1600
    In other words, two CPUs are running at full speed while the others have been
    scaled back because they're mostly idle.
    This is a back-port of commit 54bfb66 from the master branch.
    Fixes #526.
    bnoordhuis committed Aug 14, 2012
Commits on Sep 14, 2012
Commits on Sep 11, 2012
  1. @bnoordhuis

    unix: put child process stdio fds in blocking mode

    Remove the O_NONBLOCK flag from file descriptors 0-2, most applications don't
    expect EAGAIN errors when dealing with stdio.
    bnoordhuis committed Sep 12, 2012
  2. @bnoordhuis
Commits on Sep 10, 2012
  1. @bnoordhuis

    unix: fix EMFILE busy loop

    Don't spin in epoll_wait() / kevent() / port_getn() / etc. when we can't
    accept() a new connection due to having reached the file descriptor limit.
    Pass the error to the connection_cb and let the libuv user deal with it.
    bnoordhuis committed Sep 10, 2012
  2. @bnoordhuis
Commits on Sep 3, 2012
  1. @bnoordhuis

    sunos: don't set TCP_KEEPALIVE

    The system headers advertise the socket option but the actual syscall fails
    Fixes nodejs/node-v0.x-archive#3937.
    bnoordhuis committed Sep 4, 2012
Commits on Aug 30, 2012
  1. @piscisaureus
Commits on Aug 25, 2012
  1. @bnoordhuis

    unix: fix memory leak in udp.c

    Some memory was leaked when the uv_udp_t handle was closed when there were
    in-flight send requests with a heap allocated buffer list.
    That doesn't happen much in practice. In the common case (writing < 5 buffers),
    the buffer list is stored inside the uv_udp_send_t structure, not allocated on
    the heap.
    bnoordhuis committed Aug 25, 2012
Commits on Aug 22, 2012
  1. @bnoordhuis

    unix: map errno ESPIPE

    bnoordhuis committed Aug 23, 2012
Commits on Aug 20, 2012
  1. @piscisaureus

    windows: fix uninitialized memory access in uv_update_time()

    uv_update_time does not overwrite the high 32 bits of uv_loop_t.time.
    It merely increments it by one when the low 32 bits have wrapped. That
    means that `time` needs to be initialized to zero before
    uv_update_time() is called for the first time.
    piscisaureus committed Aug 21, 2012
  2. @bnoordhuis

    unix, windows: fix memory corruption in fs-poll.c

    uv_fs_poll_t has an embedded uv_timer_t handle that got closed at a time when
    the memory of the encapsulating handle might already have been deallocated.
    Solve that by moving the poller's state into a structure that is allocated on
    the heap and can be freed independently.
    bnoordhuis committed Aug 20, 2012
  3. @bnoordhuis
  4. @bnoordhuis

    unix: fix const correctness compiler warning

    This is a back-port of commit f97c80f from the master branch.
    bnoordhuis committed Aug 7, 2012
Commits on Aug 18, 2012
  1. @timholy @piscisaureus

    unix: fix integer overflow in uv_hrtime

    Conversion to nanoseconds was overflowing with 32-bit builds.
    timholy committed with piscisaureus Aug 17, 2012
Commits on Aug 16, 2012
  1. @bnoordhuis

    sunos: fix uv_cpu_info() on x86_64

    kstat_data_lookup("clock_Mhz") returns a KSTAT_DATA_INT32 on i386 but a
    KSTAT_DATA_INT64 on x86_64.
    bnoordhuis committed Aug 16, 2012
Commits on Aug 15, 2012
  1. @bnoordhuis
Commits on Aug 13, 2012
  1. @bnoordhuis

    build: rework -fvisibility=hidden detection

    Make the gcc_version macro conform with what node.js and v8 use. Important
    because node.js's common.gypi is going to export it soon.
    bnoordhuis committed Aug 13, 2012
Commits on Aug 8, 2012
  1. @piscisaureus
  2. @piscisaureus
Commits on Aug 3, 2012
  1. @piscisaureus

    windows: map WSANO_DATA to UV_ENOENT

    This improves uv_getaddrinfo error reporting.
    piscisaureus committed Aug 3, 2012