Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Feb 21, 2013
  1. @bnoordhuis

    unix: handle EINPROGRESS for unix sockets

    bnoordhuis authored
    Before this commit, it was assumed that connect() on UNIX sockets never
    returns EINPROGRESS. It turned out to be a bad assumption: Dave Pacheco
    reports sporadic hangups on SmartOS because of that.
    It's not clear to me _why_ the Illumos kernel returns that error but
    that's inconsequential: whatever the cause, libuv needs to handle it
    and now it does.
    This is a back-port of commit 3348cd7 from the master branch.
    Fixes joyent/node#4785.
  2. @bnoordhuis

    build: handle bad gcc -dumpversion output

    bnoordhuis authored
    `gcc -dumpversion` usually prints major.minor - but on sunos it prints
Commits on Jan 30, 2013
  1. @piscisaureus

    win: get rid of early ipv6 support detection

    piscisaureus authored
    No longer explictly check wheter an IPv6 stack is present when the user
    tries to use IPV6 sockets. Instead realy on the operating system
    to report the lack of protocol support via appropriate error messages.
  2. @piscisaureus
  3. @piscisaureus

    win/udp: make uv_udp_set_socket set UV_HANDLE_IPV6

    piscisaureus authored
    This patch makes uv_udp_set_socket responsible for setting the
    UV_HANDLE_IPV6 flag.
    In addition, this patch fixes some minor style issues.
  4. @piscisaureus

    win/tcp: make uv_tcp_set_socket set UV_HANDLE_IPV6

    piscisaureus authored
    This makes uv_tcp_set_socket responsible for setting the UV_HANDLE_IPV6
    flag. This fixes a couple of situations where the the fact that a socket
    is an IPv6 socket is not taken into account when deciding whether a call
    to SetFileCompletionNotificationModes is appropriate.
  5. @piscisaureus

    win: fix uv_winsock_init crash when no IPv4 stack present

    piscisaureus authored
    uv_winsock_init() tries to create an IPv4 socket in order to detect
    if the system has any layered service providers (LSPs) installed.
    When creating this socket failed it would call uv_fatal_error and exit
    with the following message:
      socket: (10047) An address incompatible with the requested protocol was used.
    This patch fixes that. It also includes some minor style tweaks.
  6. @piscisaureus
  7. @piscisaureus
  8. @piscisaureus
Commits on Dec 14, 2012
  1. @ashaffer @bnoordhuis

    sunos: properly disarm PORT_LOADED fsevent watcher

    ashaffer authored bnoordhuis committed
    Fixes a segmentation fault when the watched entity is changed after the watcher
    has been closed.
Commits on Dec 4, 2012
  1. @piscisaureus

    windows: improve / fix uv_interface_addresses

    piscisaureus authored
    * If GetAdaptersAddresses() failed, it would return UV_OK nonetheless,
      but the `adresses` and `count` out parameters would not be set.
    * When adapters were enabled or added in between the two
      GetAdaptersAddresses() calls, it would fail.
    * In case of an out of memory situation, libuv would crash with a fatal
    * All interface information is now stored in a single heap-allocated
  2. @piscisaureus
Commits on Nov 29, 2012
  1. @bnoordhuis
Commits on Nov 20, 2012
  1. @bnoordhuis

    linux: use /proc/cpuinfo for CPU frequency

    bnoordhuis authored
    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.
Commits on Nov 14, 2012
  1. @bnoordhuis

    windows: map WSAESHUTDOWN to UV_EPIPE

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

    build: use link_settings, fix typo

    bnoordhuis authored
    * 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.
Commits on Nov 7, 2012
  1. @piscisaureus
Commits on Nov 5, 2012
  1. @bnoordhuis

    test: remove unnecessary #ifdef _WIN32

    bnoordhuis authored
    This is a back-port of commit 4d17337 from the master branch.
  2. @piscisaureus

    windows: un-break the build

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

    unix: do not set environ unless one is provided

    AvianFlu authored bnoordhuis committed
    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.
Commits on Oct 25, 2012
  1. @bnoordhuis

    include: fix ngx_queue_foreach() macro

    bnoordhuis authored
    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.
Commits on Oct 22, 2012
  1. @bnoordhuis

    linux: update comm field in uv_set_process_title()

    bnoordhuis authored
    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.
Commits on Oct 10, 2012
  1. @saghul @piscisaureus

    win: fix compilation with MSVCRT < 8.0

    saghul authored piscisaureus committed
  2. @piscisaureus
  3. @piscisaureus

    windows: fix application crashed popup in debug version

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

    unix: map EDQUOT to UV_ENOSPC

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

    linux: improve /proc/cpuinfo parser

    bnoordhuis authored
    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.
Commits on Sep 14, 2012
Commits on Sep 11, 2012
  1. @bnoordhuis

    unix: put child process stdio fds in blocking mode

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

    unix: fix EMFILE busy loop

    bnoordhuis authored
    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.
  2. @bnoordhuis
Commits on Sep 3, 2012
  1. @bnoordhuis

    sunos: don't set TCP_KEEPALIVE

    bnoordhuis authored
    The system headers advertise the socket option but the actual syscall fails
    Fixes joyent/node#3937.
Something went wrong with that request. Please try again.