* Upgrade V8 to 3.9.2 * Revert support for isolates. (Ben Noordhuis) * cluster: Cleanup docs, event handling, and process.disconnect (Andreas Madsen) * gyp_addon: link with node.lib on Windows (Nathan Rajlich) * http: fix case where http-parser is freed twice (koichik) * Windows: disable RTTI and exceptions (Bert Belder)
I keep forgetting to do this. It's such a stupid thing.
Conflicts: ChangeLog deps/v8/src/version.cc deps/v8/tools/gyp/v8.gyp doc/about/index.html doc/community/index.html doc/index.html doc/logos/index.html doc/template.html lib/path.js lib/querystring.js src/node_version.h
After adding a .disconect method and connected flag in child_process we should no longer use the process._channel object.
This simplify the internalMessage and exit event handling And simply relay message and error event to the worker object Note that the error event was not relayed before
after response to CONNECT/Upgrade request. Fixes #2704.
It was decided that the performance benefits that isolates offer (faster spin-up times for worker processes, faster inter-worker communication, possibly a lower memory footprint) are not actual bottlenecks for most people and do not outweigh the potential stability issues and intrusive changes to the code base that first-class support for isolates requires. Hence, this commit backs out all isolates-related changes. Good bye, isolates. We hardly knew ye.
This reverts commit 11d1eca. It sporadically (but reproducibly) triggers an assert inside V8: Fatal error in /path/to/node/deps/v8/src/isolate.cc, line 1857 CHECK(CurrentPerIsolateThreadData()->isolate_ == this) failed Needs further investigation.
v8 requires a lock of each thread using the vm, but if none is explicitly is created it will implicitly create one for you. This creates issues when trying to build modules which use v8's multi-threading features because there's no lock to unlock.
A ReadStream constructed from an existing file descriptor failed to start reading automatically. Avoids a userspace call to ReadStream.prototype._read().
net-dns-error: specifc test for the net DNS issue. http-dns-error: now it works for HTTPS as well.
The socket was never destroyed on DNS errors. This broke some clients, including lib/https.js.
Add missing translator for node_dtrace_http_*_request_t types. Fixes #2667.
* Update V8 to 220.127.116.11 * Add npm msysgit bash shim to msi installer (isaacs) * buffers: fix intermittent out of bounds error (Ben Noordhuis) * buffers: honor length argument in base64 decoder (Ben Noordhuis) * windows: Fix path.exists regression (Bert Belder) * Make QueryString.parse run faster (Philip Tellis) * http: avoid freeing http-parser objects too early (koichik) * timers: add v0.4 compatibility hack (Ben Noordhuis) * Proper EPERM error code support (Igor Zinkovsky, Brandon Philips) * dgram: Implement udp multicast methods on windows (Bert Belder)
The base64 decoder would intermittently throw an out-of-bounds exception when the buffer in `buf.write('', 'base64')` was a zero-sized buffer located at the end of the slab. Fixes #2657.
Honor the length argument in `buf.write(s, 0, buf.length, 'base64')`. Before this commit, the length argument was ignored. The decoder would keep writing until it hit the end of the buffer. Since most buffers in Node are slices of a parent buffer (the slab), this bug would overwrite the content of adjacent buffers. The bug is trivially demonstrated with the following test case: var assert = require('assert'); var a = Buffer(3); var b = Buffer('xxx'); a.write('aaaaaaaa', 'base64'); assert.equal(b.toString(), 'xxx'); This commit coincidentally also fixes a bug where Buffer._charsWritten was not updated for zero length buffers.
Use decodeURIComponent when appropriate, and only fall back to querystring.decode if it throws, or if the character is a '+'. Fix #2248