1. Jan 15, 2013
    • Ben Noordhuis's avatar
      http: fix "Cannot call method 'emit' of null" · f3e78bd3
      Ben Noordhuis authored
      Fix the following exception:
      
        http.js:974
          this._httpMessage.emit('close');
                            ^
        TypeError: Cannot call method 'emit' of null
            at Socket.onServerResponseClose (http.js:974:21)
            at Socket.EventEmitter.emit (events.js:124:20)
            at net.js:421:10
            at process._tickCallback (node.js:386:13)
            at process._makeCallback (node.js:304:15)
      
      Fixes #4586.
      f3e78bd3
  2. Jan 12, 2013
  3. Jan 11, 2013
    • Nathan Rajlich's avatar
      make binary: allow custom config flags · 4fa3fd1c
      Nathan Rajlich authored
      For example, to cross-compile from my OS X laptop for Raspberry Pi, you would
      do something like:
      
        $ make binary BINARYNAME=node-v`python tools/getnodeversion.py`-linux-arm-pi \
            DESTCPU=arm CONFIG_FLAGS="--dest-os=linux"
      4fa3fd1c
  4. Jan 10, 2013
  5. Jan 09, 2013
  6. Jan 08, 2013
    • Ben Noordhuis's avatar
      dgram: don't assert on send('string') · ad6769fc
      Ben Noordhuis authored
      Raise a TypeError when the argument to send() or sendto() is anything
      but a Buffer.
      
      Fixes the following assertion:
      
        $ node -e 'require("dgram").createSocket("udp4").send("BAM")'
        node: ../../src/udp_wrap.cc:220: static v8::Handle<v8::Value>
        node::UDPWrap::DoSend(const v8::Arguments&, int): Assertion
        `Buffer::HasInstance(args[0])' failed.
        Aborted (core dumped)
      
      Fixes #4496.
      ad6769fc
  7. Jan 05, 2013
  8. Jan 01, 2013
  9. Dec 31, 2012
  10. Dec 30, 2012
  11. Dec 27, 2012
    • Maciej Małecki's avatar
      build: allow to specify custom tags · c2e71dd5
      Maciej Małecki authored
      When building custom `node` versions (e.g., floating features/fixes from
      different versions) it's often useful to specify a custom tag which
      easily identifies build when invoking `node -v`.
      
      Introduce a way to specify this tag in `node_version.h` file or by
      running `./configure --tag="<tag>"`. Insert it right after the patch
      version (and before `-pre`, if build is not a release).
      c2e71dd5
    • isaacs's avatar
      lint · 54740c8b
      isaacs authored
      54740c8b
  12. Dec 22, 2012
  13. Dec 21, 2012
  14. Dec 20, 2012
    • Ben Noordhuis's avatar
      http: pack response body buffer in first tcp packet · 5a19c07c
      Ben Noordhuis authored
      Apply the same optimization to res.end(buf) that is applied to res.end(str).
      
      Speeds up `node benchmark/http_simple_auto -k -c 1 -n 25000 buffer/1`
      (non-chunked response body) by about 750x. That's not a typo.
      
      Chunked responses:
      
        $ cat tmp/http-chunked-client.js
        // Run `node benchmark/http_simple` in another terminal.
        var http = require('http'), url = require('url');
        var options = url.parse('http://127.0.0.1:8000/buffer/1/1');
        options.agent = new http.Agent({ maxSockets: 1 });
        for (var i = 0; i < 25000; ++i) http.get(options);
      
      Before:
      
        $ time out/Release/node tmp/http-chunked-client.js
        real    16m40.411s
        user    0m9.184s
        sys     0m0.604s
      
      After:
      
        $ time out/Release/node tmp/http-chunked-client.js
        real    0m5.386s
        user    0m2.768s
        sys     0m0.728s
      
      That's still a 185x speed-up.
      
      Fixes #4415.
      5a19c07c
    • Ben Noordhuis's avatar
      bench: use res.end() for chunked encoding · ba407ce4
      Ben Noordhuis authored
      Use res.end() for the final chunk so we can benchmark the 'hot path' shortcut
      in lib/http.js that packs the headers and the body into a single packet.
      ba407ce4
  15. Dec 19, 2012
  16. Dec 18, 2012
  17. Dec 17, 2012
  18. Dec 14, 2012
  19. Dec 13, 2012
  20. Dec 12, 2012
  21. Dec 11, 2012