Skip to content
This repository has been archived by the owner on May 4, 2018. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: joyent/libuv
base: 3d73d5562791
Choose a base ref
...
head repository: joyent/libuv
compare: 6d3a051eb4d1
Choose a head ref
  • 1 commit
  • 7 files changed
  • 1 contributor

Commits on Jul 31, 2014

  1. windows: relay TCP bind errors via ipc

    This is the libuv side of the fix for Node's cluster module on Windows.
    nodejs/node-v0.x-archive#7691
    
    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 (
    d1e6be1
    nodejs/node-v0.x-archive@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.
    orangemocha committed Jul 31, 2014
    Copy the full SHA
    6d3a051 View commit details
    Browse the repository at this point in the history