- Feb 12, 2013
-
-
Ben Noordhuis authored
Throw the OpenSSL error string instead of the rather less informative error message "fail".
-
isaacs authored
-
Ben Noordhuis authored
Let ECONNRESET network errors bubble up so clients can detect them. Commit c4454d2e suppressed and turned them into regular end-of-stream events to fix the then-failing simple/test-regress-GH-1531 test. See also issue #1571 for (scant) details. It turns out that special handling is no longer necessary. Remove the special casing and let the error bubble up naturally. pummel/test-https-ci-reneg-attack and pummel/test-tls-ci-reneg-attack are updated because they expected an EPIPE error code that is now an ECONNRESET. Suppression of the ECONNRESET prevented the test from detecting that the connection has been severed whereupon the next write would fail with an EPIPE. Fixes #1776.
-
Ben Noordhuis authored
Fix an exception that was raised when the WriteStream was closed immediately after creating it: TypeError: Cannot read property 'fd' of undefined at WriteStream.close (fs.js:1537:18) <snip> Avoid the TypeError and make sure the file descriptor is closed. Fixes #4745. -
Ben Noordhuis authored
Turn call-as-function calls into constructor calls. Makes the following snippet work: var buf = ArrayBuffer(32); // no 'new' but does the right thing
-
Ben Noordhuis authored
* allocate space for argv on the stack * move the declaration to node_internals.h
-
- Feb 11, 2013
-
-
Ben Noordhuis authored
Don't run the 'has function been called?' checks if the test is exiting with an error because a failed check will mask the real exception. v0.8 doesn't have the _fatalException machinery in src/node.js and src/node.cc so it doesn't have this issue.
-
Ben Noordhuis authored
Clarify that typed array constructors accept buffers as their first argument but that the memory is not shared and why this was changed in v0.9.
-
Ben Noordhuis authored
Convert the Buffer to an ArrayBuffer. The typed_array.buffer property should be an ArrayBuffer to avoid confusion: a Buffer doesn't have a byteLength property and more importantly, its slice() method works subtly different. That means that before this commit: var buf = new Buffer(1); var arr = new Int8Array(buf); assert.equal(arr.buffer, buf); assert(arr.buffer instanceof Buffer); And now: var buf = new Buffer(1); var arr = new Int8Array(buf); assert.notEqual(arr.buffer, buf); assert(arr.buffer instanceof ArrayBuffer);
-
- Feb 10, 2013
-
-
Ben Noordhuis authored
Make the DataView constructor throw an exception when the first argument is not an ArrayBuffer. Follows the spec and the browsers.
-
Ben Noordhuis authored
It was returning true for typed arrays. Check that the object was instantiated with the Buffer constructor.
-
Ben Noordhuis authored
We're going to fix this differently. The real bug is that Buffer::HasInstance() returns true for typed arrays. This reverts commit 01ee551e.
-
Ben Noordhuis authored
We're going to follow browser behavior here. This reverts commit 7b0770bf.
-
Nathan Rajlich authored
Support for it was added in a9c4a203.
-
- Feb 09, 2013
- Feb 08, 2013
-
-
Scott Blomquist authored
Noteworthy installer improvements provided here: * Support in the Installer UI for not installing shortcuts. * Support in the Installer UI for choosing a custom install directory. * Command line support for not installing shortcuts (ADDDEFAULT=nodejs) * Command line support for custom install directory (INSTALLDIR=c:\tools\node)
-
Jim Schubert authored
-
isaacs authored
-
isaacs authored
-
isaacs authored
* tls: port CryptoStream to streams2 (Fedor Indutny) * typed arrays: only share ArrayBuffer backing store (Ben Noordhuis) * stream: make Writable#end() accept a callback function (Nathan Rajlich) * buffer: optimize 'hex' handling (Ben Noordhuis) * dns, cares: don't filter NOTIMP, REFUSED, SERVFAIL (Ben Noordhuis) * readline: treat bare \r as a line ending (isaacs) * readline: make \r\n emit one 'line' event (Ben Noordhuis) * cluster: support datagram sockets (Bert Belder) * stream: Correct Transform class backpressure (isaacs) * addon: Pass module object to NODE_MODULE init function (isaacs, Rod Vagg) * buffer: slow buffer copy compatibility fix (Trevor Norris) * Add bytesWritten to tls.CryptoStream (Andy Burke)
-
isaacs authored
Fix #4727 Fix einaros/ws#159
-
- Feb 07, 2013
-
-
Nikhil Marathe authored
http.ServerRequest and http.ClientResponse are merged into http.IncomingMessage which has fields for both, and acts as a Readable Stream and EventEmitter. Fixes #3851.
-
isaacs authored
Conflicts: AUTHORS ChangeLog deps/npm/html/api/bin.html deps/npm/html/api/bugs.html deps/npm/html/api/commands.html deps/npm/html/api/config.html deps/npm/html/api/deprecate.html deps/npm/html/api/docs.html deps/npm/html/api/edit.html deps/npm/html/api/explore.html deps/npm/html/api/help-search.html deps/npm/html/api/init.html deps/npm/html/api/install.html deps/npm/html/api/link.html deps/npm/html/api/load.html deps/npm/html/api/ls.html deps/npm/html/api/npm.html deps/npm/html/api/outdated.html deps/npm/html/api/owner.html deps/npm/html/api/pack.html deps/npm/html/api/prefix.html deps/npm/html/api/prune.html deps/npm/html/api/publish.html deps/npm/html/api/rebuild.html deps/npm/html/api/restart.html deps/npm/html/api/root.html deps/npm/html/api/run-script.html deps/npm/html/api/search.html deps/npm/html/api/shrinkwrap.html deps/npm/html/api/start.html deps/npm/html/api/stop.html deps/npm/html/api/submodule.html deps/npm/html/api/tag.html deps/npm/html/api/test.html deps/npm/html/api/uninstall.html deps/npm/html/api/unpublish.html deps/npm/html/api/update.html deps/npm/html/api/version.html deps/npm/html/api/view.html deps/npm/html/api/whoami.html deps/npm/html/doc/README.html deps/npm/html/doc/adduser.html deps/npm/html/doc/bin.html deps/npm/html/doc/bugs.html deps/npm/html/doc/build.html deps/npm/html/doc/bundle.html deps/npm/html/doc/cache.html deps/npm/html/doc/changelog.html deps/npm/html/doc/coding-style.html deps/npm/html/doc/completion.html deps/npm/html/doc/config.html deps/npm/html/doc/dedupe.html deps/npm/html/doc/deprecate.html deps/npm/html/doc/developers.html deps/npm/html/doc/disputes.html deps/npm/html/doc/docs.html deps/npm/html/doc/edit.html deps/npm/html/doc/explore.html deps/npm/html/doc/faq.html deps/npm/html/doc/folders.html deps/npm/html/doc/global.html deps/npm/html/doc/help-search.html deps/npm/html/doc/help.html deps/npm/html/doc/index.html deps/npm/html/doc/init.html deps/npm/html/doc/install.html deps/npm/html/doc/json.html deps/npm/html/doc/link.html deps/npm/html/doc/ls.html deps/npm/html/doc/npm.html deps/npm/html/doc/outdated.html deps/npm/html/doc/owner.html deps/npm/html/doc/pack.html deps/npm/html/doc/prefix.html deps/npm/html/doc/prune.html deps/npm/html/doc/publish.html deps/npm/html/doc/rebuild.html deps/npm/html/doc/registry.html deps/npm/html/doc/removing-npm.html deps/npm/html/doc/restart.html deps/npm/html/doc/rm.html deps/npm/html/doc/root.html deps/npm/html/doc/run-script.html deps/npm/html/doc/scripts.html deps/npm/html/doc/search.html deps/npm/html/doc/semver.html deps/npm/html/doc/shrinkwrap.html deps/npm/html/doc/star.html deps/npm/html/doc/start.html deps/npm/html/doc/stop.html deps/npm/html/doc/submodule.html deps/npm/html/doc/tag.html deps/npm/html/doc/test.html deps/npm/html/doc/uninstall.html deps/npm/html/doc/unpublish.html deps/npm/html/doc/update.html deps/npm/html/doc/version.html deps/npm/html/doc/view.html deps/npm/html/doc/whoami.html deps/npm/man/man1/global.1 deps/npm/man/man1/ls.1 deps/npm/man/man1/npm.1 deps/npm/man/man1/rm.1 deps/npm/man/man3/npm.3 deps/npm/node_modules/glob/glob.js deps/npm/node_modules/glob/package.json deps/npm/node_modules/node-gyp/package.json deps/npm/node_modules/npm-registry-client/package.json deps/npm/node_modules/npmconf/package.json deps/npm/node_modules/read-installed/package.json deps/npm/node_modules/rimraf/package.json deps/npm/node_modules/rimraf/rimraf.js deps/npm/package.json deps/uv/src/win/error.c doc/api/crypto.markdown lib/zlib.js src/node_version.h src/node_zlib.cc test/simple/test-buffer.js
-
Ben Noordhuis authored
This is commit 01ee551e, except for the DataView type this time. Make the behavior of DataView consistent with that of typed arrays: make a copy of the backing store.
-
Fedor Indutny authored
-
isaacs authored
-
isaacs authored
-
isaacs authored
-
isaacs authored
* npm: Upgrade to v1.2.10 * zlib: pass object size hint to V8 (Ben Noordhuis) * zlib: reduce memory consumption, release early (Ben Noordhuis) * buffer: slow buffer copy compatibility fix (Trevor Norris) * zlib: don't assert on malformed dictionary (Ben Noordhuis) * zlib: don't assert on missing dictionary (Ben Noordhuis) * windows: better ipv6 support (Bert Belder) * windows: add error mappings related to unsupported protocols (Bert Belder) * windows: map ERROR_DIRECTORY to UV_ENOENT (Bert Belder)
-
isaacs authored
-
Fedor Indutny authored
Otherwise sockets that are 'finish'ed won't be unpiped and `writing to ended stream` error will arise. This might sound unrealistic, but it happens in net.js. When `socket.allowHalfOpen === false`, EOF will cause `.destroySoon()` call which ends the writable side of net.Socket.
-
- Feb 06, 2013
-
-
Ben Noordhuis authored
Check that having a worker bind to a port that's already taken doesn't leave the master process in a confused state. Releasing the port and trying again should Just Work[TM].
-
Ben Noordhuis authored
Follow browser behavior, only share the backing store when it's a ArrayBuffer. That is: var abuf = new ArrayBuffer(32); var a = new Int8Array(abuf); var b = new Int8Array(abuf); a[0] = 0; b[0] = 1; assert(a[0] === b[0]); // a and b share memory But: var a = new Int8Array(32); var b = new Int8Array(a); a[0] = 0; b[0] = 1; assert(a[0] !== b[0]); // a and b don't share memory The typed arrays spec allows both `a[0] === b[0]` and `a[0] !=== b[0]` but Chrome and Firefox implement the behavior where memory is not shared. Copying the memory is less efficient but let's do it anyway for the sake of the Principle of Least Surprise. Fixes #4714.
-
Bryan Cantrill authored
Fixes #4010.
-
Nathan Rajlich authored
This is more backwards-compatible with stream1 streams like `fs.WriteStream` which would allow a callback function to be passed in as the only argument. Closes #4719.
-
Ben Noordhuis authored
Fixes #4716.
-
Ben Noordhuis authored
Inform V8 that the zlib context object is tied to a large off-heap buffer. This makes the GC run more often (in theory) and improves the accuracy of --trace_external_memory.
-
Ben Noordhuis authored
In zlibBuffer(), don't wait for the garbage collector to reclaim the zlib memory but release it manually. Reduces memory consumption by a factor of 10 or more with some workloads. Test case: function f() { require('zlib').deflate('xxx', g); } function g() { setTimeout(f, 5); } f(); Observe RSS memory usage with and without this commit. After 10,000 iterations, RSS stabilizes at ~35 MB with this commit. Without, RSS is over 300 MB and keeps growing. Cause: whenever the JS object heap hits the high-water mark, the V8 GC sweeps it clean, then tries to grow it in order to avoid more sweeps in the near future. Rule of thumb: the bigger the JS heap, the lazier the GC can be. A side effect of a bigger heap is that objects now live longer. This is harmless in general but it affects zlib context objects because those are tied to large buffers that live outside the JS heap, on the order of 16K per context object. Ergo, don't wait for the GC to reclaim the memory - it may take a long time. Fixes #4172.
-
- Feb 05, 2013
-
-
Ben Noordhuis authored
Using Socket.prototype.connect() to reconnect an existing Socket object is not reliable. Users should just create a new Socket object. See #4698.
-