Commits on Nov 17, 2010
  1. @ry

    Bump version to 0.2.5

    ry committed Nov 16, 2010
  2. @ry

    Add ref to buffer during fs.write and fs.read

    There was the possibility the buffer could be GCed while the eio_req was
    pending.  Still needs test coverage for the fs.read() problem.
    
    See:
    http://groups.google.com/group/nodejs/browse_thread/thread/c11f8b683f37cef
    ry committed Nov 16, 2010
Commits on Nov 16, 2010
  1. @ry
  2. @isaacs @ry

    writeFile fixes

    writeFileSync could exhibit pathological behavior when a buffer could
    not be written to the file in a single write() call.
    
    Also, writeFile was not quite as optimized as it could be.
    isaacs committed with ry Nov 13, 2010
  3. @bnoordhuis @ry
  4. @ry

    Fix segfault on test-crypto

    Plus random cleanups. This code needs help.
    
    Conflicts:
    
    	src/node_crypto.cc
    ry committed Nov 16, 2010
  5. @ry

    Simplify REPL displayPrompt

    Now that we insert \r into the stream and aren't switching back and forth
    between termios modes, not need to worry about when to display the prompt.
    ry committed Nov 12, 2010
  6. @ry

    Add writeFilter when in the readline

    Switch \n with \r\n for all strings printed out.
    Necessary for writev patch.
    ry committed Nov 11, 2010
  7. @ry
  8. @ry

    Upgrade http-parser

    ry committed Nov 16, 2010
  9. @guitt @ry

    Set FD_CLOEXEC flag on stdio FDs before spawning.

    With regression test.
    guitt committed with ry Nov 7, 2010
  10. @ry
  11. @bnoordhuis @ry
  12. @cskr @ry
  13. @ry

    Make sure watcher.set() isn't being called when active

    Conflicts:
    
    	lib/dns.js
    ry committed Nov 16, 2010
  14. @ry

    Fix argv[6] comment in node_file

    ry committed Oct 30, 2010
  15. @ry

    Rewrite libeio After callback to use req->result instead of req->erro…

    …rno for error checking
    
    Conflicts:
    
    	src/node_file.cc
    ry committed Nov 16, 2010
  16. @ry
  17. @ry

    Abstract out net.Server.prototype._rejectPending

    Does the same timeout action for maxConnections as it does for EMFILE.
    
    Conflicts:
    
    	lib/net.js
    ry committed Nov 16, 2010
  18. @ry

    Module-level EMFILE handling

    All net servers now share the same dummy socket. The ulimit warning is
    throttled for all servers.
    
    Conflicts:
    
    	lib/net.js
    ry committed Nov 16, 2010
  19. @isaacs @ry

    Handle cyclic links smarter in fs.realpath

    Rather than aborting in the face of *any* repeated link in a given path,
    instead only abort if such a cycle actually makes a given path unresolvable.
    
    Test for this by doing a normal stat.  Still use the seenLinks object to
    cache link contents so as to cut own a little bit on readlink calls.
    
    Also add a pathological test that fails without the change to fs.js.
    isaacs committed with ry Oct 25, 2010
  20. @xk @ry

    make "node --eval" eval in the global scope.

    xk committed with ry Oct 23, 2010
  21. @ry

    Add extra anti-DoS tech to net.Server

    Conflicts:
    
    	lib/net.js
    ry committed Nov 16, 2010
  22. @ry

    Improve idle benchmarks

    ry committed Oct 27, 2010
  23. @ry

    Gracefully handle EMFILE

    Implementing a tip from Marc Lehmann:
    http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#The_special_problem_of_accept_ing_wh
    
    Keep an extra FD around for every server. When you hit EMFILE, destroy that
    FD, accept a connection, close it; in this way you can clear the connection
    queue and let people know that you're overload.
    
    No more timeout needed.
    
    Conflicts:
    
    	lib/net.js
    ry committed Nov 16, 2010
Commits on Nov 2, 2010
  1. @ry

    Fix test-http-buffer-sanity

    Backported from 7e24a05
    Add test/simple/test-http-curl-chunk-problem.js
    ry committed Oct 11, 2010
  2. @ry
Commits on Oct 24, 2010
  1. @ry

    bump version to 0.2.4

    ry committed Oct 24, 2010
  2. @ry

    Make sure Error object on exec() gets killed member

    Also default to SIGTERM for destruction when exceeding timeout or buffer on
    exec()
    
    Back ported from v0.3; original commits:
    bd8e4f6
    5a98fa4
    6570cd9
    9bf2975
    ry committed Oct 23, 2010
  3. @ry

    Add isatty for isaacs

    ry committed Oct 21, 2010
  4. @ry

    one more 'listening' race condition

    ry committed Oct 23, 2010
  5. @ry

    Fix a few 'listening' race conditions

    in test-http-client-parse-error
    ry committed Oct 23, 2010
  6. @ry

    Do not spin on aceept() with EMFILE

    When a server hit EMFILE it would continue to try to accept new connections
    from the queue. This patch introduces a timeout of one second where it will
    stop trying to accept new files. After the second is over it tries again.
    
    This is a rather serious bug that has been effecting many highly concurrent
    programs. It was introduced in 4593c0, version v0.2.0.
    
    TODO: A test for this situation. Currently I test it like this
    
      termA% cd projects/node
      termA% ulimit -n 256
      termA% ./node benchmark/idle_server.js
    
      termB% cd projects/node
      termB% ./node benchmark/idle_clients.js
    
    And watch how the server process behaves.
    ry committed Oct 23, 2010
  7. @thughes @ry

    Add signal handlers so we clean up before exiting.

    Add SIGTERM and SIGINT signal handlers so that we run the exit handlers
    before exiting when getting these signals. Fixes an issue where we
    couldn't run vi after CTRL+C'ing node because the stdin fd was left
    non-blocking.
    
    Also the test from ceb5331a64e813f3a982c702fea5dcd2db2e7a290
    thughes committed with ry Oct 12, 2010
  8. @ry

    Fix parsing of linux memory

    If process name contains a space, this parsing fails for no good reason.
    Vitali Lovich committed with ry Jul 16, 2010