Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib: fix process.send() sync i/o regression #774

Closed
wants to merge 1 commit into from

Commits on Feb 10, 2015

  1. lib: fix stdio/ipc sync i/o regression

    process.send() should be synchronous, it should block until the message
    has been sent in full, but it wasn't after the second-to-last libuv
    upgrade because of commit libuv/libuv@393c1c5 ("unix: set non-block
    mode in uv_{pipe,tcp,udp}_open"), which made its way into io.js in
    commit 07bd05b ("deps: update libuv to 1.2.1").
    
    Commit libuv/libuv@b36d4ff ("unix: implement uv_stream_set_blocking()")
    as landed in io.js in commit 9681fca ("deps: update libuv to 1.4.0")
    makes it possible to restore the synchronous behavior again and that's
    precisely what this commit does.
    
    The same line of reasoning applies to `net.Socket({ fd: 1 })`: creating
    a socket object from a stdio file descriptor, like the `process.stdout`
    getter does, should put the file descriptor in blocking mode for
    compatibility reasons.
    
    Fixes: nodejs#760
    Fixes: nodejs#784
    bnoordhuis committed Feb 10, 2015
    Configuration menu
    Copy the full SHA
    1fea458 View commit details
    Browse the repository at this point in the history