Commits on Sep 4, 2009
  1. bump version

    ry committed Sep 4, 2009
  2. Fix slowness in debug run of test-tcp-many-clients

    ry committed Sep 4, 2009
    I'm not sure what is actually causing
      node_g test/mjsunit/test-tcp-many-clients.js
    to run slowly, but I traced the problem to
    Somehow it has to do with promoting the compilation of src/util.js. That
    change wasn't actually intended to be included in afd9e7 commit anyway, so
    I'm reverting it here.
  3. Add test-mkdir-rmdir.js

    ry committed Sep 4, 2009
Commits on Sep 3, 2009
  1. Sort files in readdir test.

    ry committed Sep 3, 2009
  2. Add node.fs.mkdir()

    ry committed Sep 3, 2009
  3. Add node.fs.readdir()

    ry committed Sep 3, 2009
  4. Clean up text on website.

    ry committed Sep 3, 2009
  5. Upgrade libeio, increase xthread stacksize to 64kb.

    ry committed Sep 3, 2009
    64kb seems to be the magic number for getaddrinfo() to work on Macintosh.
  6. Add extension API documentation

    ry committed Sep 3, 2009
  7. Add stack to promise.wait().

    ry committed Sep 3, 2009
    The problem was that if promise A was waiting and promise B was created and
    then also told to wait (from some callback coming off the event loop), and
    then promise A finished, promise B's wait would return. Promise A's wait
    would not return until promise B was finished. This is incorrect.
    To solve this issue properly, one probably needs to allocate separate
    execution stacks. I use, instead, Poor Man's Coroutines. We continue to use
    the main execution stack and force promises created most recently to return
    That is even if Promise A finishes first, neither wait() returns. Not until
    Promise B finishes, will its wait() return. After that is complete, Promise
    A's wait() will return.
    This introduces the problem of growing the "wait stack" infinitely. Thus
    I've added a strong warning to the documentation only to use this operation
    sparingly. require() and include() seem to be the proper use case for such a
    thing: they are called usually at program start up - they don't take too
    long to finish and they won't be called so often.
    Let's experiment with this stop-gap. If the infinite promise stack becomes a
    problem for many, then I will remove promise.wait() entirely or perhaps only
    use it for thread pool events.
Commits on Sep 2, 2009
  1. Build natively on x64.

    ry committed Sep 2, 2009
    Had to add some waf hackery to override V8's architecture choice. They
    probably have a reason for defaulting still to IA32, but all tests are
    passing for me, and it makes it easier on users-and I think chrome is using
    x64 builds too. So let's go for it!
  2. Upgrade V8 to 1.3.9

    ry committed Sep 2, 2009
Commits on Sep 1, 2009
  1. Revert static library build.

    ry committed Sep 1, 2009
    Not necessary to build dll modules after all.
Commits on Aug 31, 2009
  1. Stack traces for mjsunit errors, better error reporting function.

    ry committed Aug 31, 2009
    The error reporting function tries to look at the "stack" element of the
  2. Upgrade evcom; Add setTimeout method to node.tcp.Connection

    ry committed Aug 31, 2009
    The default timeout is 60 seconds, but it can now be changed.
    evcom upgrade includes fixes to force_close.
  3. Build static executable.

    ry committed Aug 31, 2009
    - Fix a few errors with node.dlopen()
    - Report errors to stderr (this should probably be a separate commit, but
Commits on Aug 27, 2009
  1. Add command line arguments for accessing build flags.

    ry committed Aug 27, 2009
    node --cflags
    node --libs
    At the expense of some WAF nastiness.
  2. First attempt at node.dlopen

    ry committed Jun 20, 2009
    Compiled first working 'hello world' module with this config
  3. bump version

    ry committed Aug 27, 2009
  4. Fix text on index.html

    ry committed Aug 27, 2009
Commits on Aug 26, 2009
  1. API: rename node.Process to node.ChildProcess

    ry committed Aug 26, 2009
    This is to avoid confusion with the global "process" object, especially for
    the instances of node.Process.
  2. lint

    ry committed Aug 26, 2009
  3. Replace onExit() with process.addListener("exit")

    ry committed Aug 26, 2009
    - Update documentation.
    - Depreciation message for onExit().