Permalink
Commits on Jan 30, 2013
  1. win: get rid of early ipv6 support detection

    piscisaureus committed Jan 26, 2013
    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. win/udp: make uv_udp_set_socket set UV_HANDLE_IPV6

    piscisaureus committed Jan 26, 2013
    This patch makes uv_udp_set_socket responsible for setting the
    UV_HANDLE_IPV6 flag.
    
    In addition, this patch fixes some minor style issues.
  3. win/tcp: make uv_tcp_set_socket set UV_HANDLE_IPV6

    piscisaureus committed Jan 26, 2013
    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.
  4. win: fix uv_winsock_init crash when no IPv4 stack present

    piscisaureus committed Jan 26, 2013
    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.
Commits on Dec 14, 2012
  1. sunos: properly disarm PORT_LOADED fsevent watcher

    ashaffer committed with bnoordhuis Dec 13, 2012
    Fixes a segmentation fault when the watched entity is changed after the watcher
    has been closed.
Commits on Dec 4, 2012
  1. windows: improve / fix uv_interface_addresses

    piscisaureus committed Dec 4, 2012
    * 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
      error.
    
    * All interface information is now stored in a single heap-allocated
      area.
Commits on Nov 29, 2012
Commits on Nov 20, 2012
  1. linux: use /proc/cpuinfo for CPU frequency

    bnoordhuis committed Oct 20, 2012
    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. windows: map WSAESHUTDOWN to UV_EPIPE

    bnoordhuis committed Nov 14, 2012
    This is a back-port of commit 483043b from the master branch.
Commits on Nov 9, 2012
  1. build: use link_settings, fix typo

    bnoordhuis committed Nov 9, 2012
    * 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
Commits on Nov 5, 2012
  1. test: remove unnecessary #ifdef _WIN32

    bnoordhuis committed Nov 5, 2012
    This is a back-port of commit 4d17337 from the master branch.
  2. windows: un-break the build

    piscisaureus committed Nov 5, 2012
    It was broken in fb64948.
Commits on Nov 3, 2012
  1. unix: do not set environ unless one is provided

    AvianFlu committed with bnoordhuis Nov 1, 2012
    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. include: fix ngx_queue_foreach() macro

    bnoordhuis committed Oct 25, 2012
    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_init(&h);
        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);
          n++;
        }
        assert(n == 1); // *not* 2
        return 0;
      }
    
    Fixes #605.
Commits on Oct 22, 2012
  1. linux: update comm field in uv_set_process_title()

    bnoordhuis committed Oct 22, 2012
    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. windows: fix application crashed popup in debug version

    piscisaureus committed Oct 10, 2012
    This is a backport of 2 patches by Ting-Yu Lin and Hiroaki Nakamura.
Commits on Sep 22, 2012
Commits on Sep 21, 2012
Commits on Sep 15, 2012
  1. linux: improve /proc/cpuinfo parser

    bnoordhuis committed Aug 14, 2012
    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. unix: put child process stdio fds in blocking mode

    bnoordhuis committed Sep 11, 2012
    Remove the O_NONBLOCK flag from file descriptors 0-2, most applications don't
    expect EAGAIN errors when dealing with stdio.
Commits on Sep 10, 2012
  1. unix: fix EMFILE busy loop

    bnoordhuis committed Sep 10, 2012
    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.
Commits on Sep 3, 2012
  1. sunos: don't set TCP_KEEPALIVE

    bnoordhuis committed Sep 3, 2012
    The system headers advertise the socket option but the actual syscall fails
    with ENOPROTOOPT.
    
    Fixes nodejs/node-v0.x-archive#3937.
Commits on Aug 30, 2012
Commits on Aug 25, 2012
  1. unix: fix memory leak in udp.c

    bnoordhuis committed Aug 25, 2012
    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.