Permalink
Switch branches/tags
Commits on Aug 7, 2014
  1. Merge remote-tracking branch 'upstream/v0.10' into v0.12

    tjfontaine committed Aug 7, 2014
    Conflicts:
    	ChangeLog
    	Makefile
    	deps/uv/ChangeLog
    	deps/uv/build.mk
    	deps/uv/src/unix/darwin.c
    	deps/uv/src/unix/getaddrinfo.c
    	deps/uv/src/version.c
    	deps/v8/src/checks.h
    	deps/v8/src/isolate.h
    	lib/cluster.js
    	lib/module.js
    	lib/timers.js
    	lib/tls.js
    	src/node_version.h
  2. tests: fix child-process-fork-dgram on SmartOS.

    misterdjules authored and tjfontaine committed Jul 31, 2014
    Send messages until both the parent and the child process have received
    at least one message. If at least one of them doesn't receive any
    message, the test runner will make the test timeout.
    
    Fixes #8046.
  3. src: handle UV_EAGAIN in TryWrite

    saghul authored and indutny committed Jul 5, 2014
    Reviewed-By: Fedor Indutny <fedor@indutny.com>
  4. Cluster: fix shared handles on Windows

    orangemocha authored and indutny committed Jul 24, 2014
    This is the Node side of the fix for Node's cluster module on Windows.
    nodejs#7691
    
    The other required part is
    joyent/libuv#1384
    
    Windows and Unix return certain socket errors (i.e. EADDRINUSE) at
    different times: bind on Windows, and listen on Unix.
    In an effort to hide this difference, libuv on Windows stores such
    errors in the bind_error field of uv_tcp_t, to defer raising it at
    listen time.
    This worked fine except for the case in which a socket is shared in
    a Node cluster and a bind error occurs.
    
    A previous attempt to fix this (
    joyent/libuv@d1e6be1
    nodejs@3da36fe
    ) was flawed becaused in an attempt to relay the error at the JS level
    it caused the master to start accepting connections.
    
    With this new approach, libuv itself is relaying the bind errors,
    providing for a uniform behavior of uv_tcp_listen.
    
    Reviewed-By: Fedor Indutny <fedor@indutny.com>
Commits on Aug 6, 2014
Commits on Aug 5, 2014
  1. fs: fs.readFile should not throw uncaughtException

    JacksonTian authored and indutny committed Aug 5, 2014
    Reviewed-By: Fedor Indutny <fedor@indutny.com>
  2. dns: fix GetAddrInfo assert

    trevnorris committed Aug 5, 2014
    The method GetAddrInfo() is used by more than just dns.lookup(), and in
    those cases a third argument isn't passed. This caused the following
    check to abort:
    
      assert(args[3]->IsInt32());
    
    Fixes: 4306786 "net: don't prefer IPv4 addresses during resolution"
    
    Signed-off-by: Trevor Norris <trev.norris@gmail.com>
Commits on Aug 4, 2014
  1. net: don't prefer IPv4 addresses during resolution

    cjihrig authored and trevnorris committed May 22, 2014
    Currently the address resolution family defaults to IPv4. Instead remove
    the preference and instead resolve to a family suitable for the host.
    
    Expose the getaddrinfo flags and allow them to be passed.
    
    Add documentation about new flags.
    
    Reviewed-by: Trevor Norris <trev.norris@gmail.com>
  2. v8: Fix compliation with GCC 4.8

    tjfontaine committed Aug 4, 2014
    Supresses a very loud warning from GCC 4.8 about unused typedefs
    
    Original url https://codereview.chromium.org/69413002
  3. test: fix test-net-remote-address-port

    misterdjules authored and trevnorris committed Aug 1, 2014
    Do not use first socket in second socket's connect handler. Probably a
    copy/paste mistake.
    
    Reviewed-by: Trevor Norris <trev.norris@gmail.com>
  4. path: isAbsolute() should always return boolean

    threeday0905 authored and trevnorris committed Aug 4, 2014
    On Windows, path.isAbsolute() returns an empty string on failed cases.
    This forces the return value to always be boolean.
    
    Reviewed-by: Trevor Norris <trev.norris@gmail.com>
  5. timers: fix timers with non-integer delay hanging.

    misterdjules authored and tjfontaine committed Aug 4, 2014
    When backporting f8193ab into v0.10, a regression was introduced. Timers
    with non-integer timeout could trigger a infinite recursion with 100%
    cpu usage. This commit backports 93b0624 which fixes the regression.
    
    After backporting f8193ab, instead of using Date.now(), timers would use
    Timer.now() to determine if they had expired. However, Timer.now() is
    based on loop->time, which is not updated when a timer's remaining time
    is > 0 and < 1. Timers would thus never timeout if their remaining time
    was at some point > 0 and < 1.
    
    With this commit, Timer.now() updates loop->time itself, and timers
    always timeout eventually.
    
    Fixes #8065 and #8068.
Commits on Aug 2, 2014
  1. process: improve process binding

    JacksonTian authored and indutny committed Aug 1, 2014
    Reviewed-By: Fedor Indutny <fedor@indutny.com>
  2. cluster: disconnect should not be synchronous

    sam-github authored and trevnorris committed Jul 31, 2014
    Callbacks in node are usually asynchronous, and should never be
    sometimes synchronous, and sometimes asynchronous.
    
    Reviewed-by: Trevor Norris <trev.norris@gmail.com>
  3. path: fix slice OOB in trim

    luciotato authored and trevnorris committed Aug 2, 2014
    Internal function trim(arr). 2nd parameter of slice() should be slice's
    end index (not included). Because of function normalize() (called before
    trim()), "start" is always zero so the bug -for now- has no effect, but
    its a bug waiting to happen.
    
    Reviewed-by: Trevor Norris <trev.norris@gmail.com>
  4. test: assert cluster.disconnect is async

    sam-github authored and trevnorris committed Jul 31, 2014
    See nodejs/node-v0.x-archive#8043, test passed on v0.11 already, but this makes the
    test stronger.
    
    Reviewed-by: Trevor Norris <trev.norris@gmail.com>
Commits on Aug 1, 2014
  1. stream: fix Readable.wrap objectMode falsy values

    substack authored and trevnorris committed Jun 9, 2014
    A streams1 stream will have its falsy values such as 0, false, or ""
    eaten by the upgrade to streams2, even when objectMode is enabled.
    
    Include test for said cases.
    
    Reviewed-by: isaacs <i@izs.me>
    Reviewed-by: Trevor Norris <trev.norris@gmail.com>
  2. tls: throw an error, not string

    JacksonTian authored and indutny committed Aug 1, 2014
    Reviewed-By: Fedor Indutny <fedor@indutny.com>
Commits on Jul 31, 2014
  1. cluster: support options in Worker constructor

    cjihrig authored and indutny committed Jul 31, 2014
    This commit moves some common Worker code into the constructor
    via support for an options argument.
    
    Reviewed-By: Fedor Indutny <fedor@indutny.com>
  2. docs: fix non-string ignore note in path.resolve

    jgillich authored and indutny committed Jun 25, 2014
    Reviewed-By: Fedor Indutny <fedor@indutny.com>
  3. Add fast path for simple URL parsing

    gwicke authored and indutny committed Jul 1, 2014
    This patch adds a fast path for parsing of simple path-only URLs, as commonly
    found in HTTP requests received by a server.
    
    Benchmark results [ms], before / after patch:
    /foo/bar              0.008956   0.000418 (fast path used)
    http://example.com/   0.011426   0.011437 (normal slow path, no change)
    
    In a simple 'ab' benchmark of a single-threaded web server, this patch
    increases the request rate from around 6400 to 7400 req/s.
    
    Reviewed-By: Fedor Indutny <fedor@indutny.com>
  4. Now working on 0.10.31

    tjfontaine committed Jul 31, 2014
  5. 2014.07.31, Version 0.10.30 (Stable)

    tjfontaine committed Jul 31, 2014
    * uv: Upgrade to v0.10.28
    
    * npm: Upgrade to v1.4.21
    
    * v8: Interrupts must not mask stack overflow.
    
    * Revert "stream: start old-mode read in a next tick" (Fedor Indutny)
    
    * buffer: fix sign overflow in `readUIn32BE` (Fedor Indutny)
    
    * buffer: improve {read,write}{U}Int* methods (Nick Apperson)
    
    * child_process: handle writeUtf8String error (Fedor Indutny)
    
    * deps: backport 4ed5fde4f from v8 upstream (Fedor Indutny)
    
    * deps: cherry-pick eca441b2 from OpenSSL (Fedor Indutny)
    
    * lib: remove and restructure calls to isNaN() (cjihrig)
    
    * module: eliminate double `getenv()` (Maciej Małecki)
    
    * stream2: flush extant data on read of ended stream (Chris Dickinson)
    
    * streams: remove unused require('assert') (Rod Vagg)
    
    * timers: backport f8193ab (Julien Gilli)
    
    * util.h: interface compatibility (Oguz Bastemur)
    
    * zlib: do not crash on write after close (Fedor Indutny)
  6. uv: Upgrade to v0.10.28

    tjfontaine committed Jul 31, 2014
  7. npm: Upgrade to v1.4.21

    tjfontaine committed Jul 31, 2014
  8. module: eliminate double `getenv()`

    mmalecki authored and tjfontaine committed Mar 25, 2014
    `process.env` access results in a synchronous `getenv` call. Cache the
    first result instead and save one syscall.