- Jun 07, 2013
-
-
Ben Noordhuis authored
Commit 0bba5902 accidentally (or maybe erroneously) added node_isolate to src/node.h and src/node_object_wrap.h. Undo that, said variable is not for public consumption. Add-on authors should use v8::Isolate::GetCurrent() instead. I missed that while reviewing. Mea culpa. Fixes #5639.
-
- Jun 06, 2013
-
-
isaacs authored
Conflicts: ChangeLog deps/uv/AUTHORS deps/uv/ChangeLog deps/uv/src/unix/linux-core.c deps/uv/src/version.c deps/uv/src/win/timer.c lib/url.js src/node_version.h test/simple/test-url.js
-
- Jun 05, 2013
-
-
isaacs authored
This is only relevant for CentOS 6.3 using kernel version 2.6.32. On other linuxes and darwin, the `read` call gets an ECONNRESET in that case. On sunos, the `write` call fails with EPIPE. However, old CentOS will occasionally send an EOF instead of a ECONNRESET or EPIPE when the client has been destroyed abruptly. Make sure we don't keep trying to write or read more in that case. Fixes #5504 However, there is still the question of what libuv should do when it gets an EOF. Apparently in this case, it will continue trying to read, which is almost certainly the wrong thing to do. That should be fixed in libuv, even though this works around the issue.
-
isaacs authored
-
isaacs authored
-
isaacs authored
-
isaacs authored
* uv: Upgrade to 0.10.10 * npm: Upgrade to 1.2.25 * url: Properly parse certain oddly formed urls (isaacs) * stream: unshift('') is a noop (isaacs) -
isaacs authored
-
Ben Noordhuis authored
-
isaacs authored
-
isaacs authored
-
isaacs authored
-
isaacs authored
-
isaacs authored
-
- Jun 04, 2013
-
-
Ben Noordhuis authored
No functional changes, just one less entry in the LICENSE file.
-
Nick Desaulniers authored
Wrapped two macros in do {...} while (0) blocks and lined up backslashes. Uses up semicolon in contexts where a dangling semicolon is erroneous. -
isaacs authored
-
isaacs authored
In cases where there are multiple @-chars in a url, Node currently parses the hostname and auth sections differently than web browsers. This part of the bug is serious, and should be landed in v0.10, and also ported to v0.8, and releases made as soon as possible. The less serious issue is that there are many other sorts of malformed urls which Node either accepts when it should reject, or interprets differently than web browsers. For example, `http://a.com*foo` is interpreted by Node like `http://a.com/*foo` when web browsers treat this as `http://a.com%3Bfoo/`. In general, *only* the `hostEndingChars` should be the characters that delimit the host portion of the URL. Most of the current `nonHostChars` that appear in the hostname should be escaped, but some of them (such as `;` and `%` when it does not introduce a hex pair) should raise an error. We need to have a broader discussion about whether it's best to throw in these cases, and potentially break extant programs, or return an object that has every field set to `null` so that any attempt to read the hostname/auth/etc. will appear to be empty.
-
isaacs authored
In some cases, the http CONNECT/Upgrade API is unshifting an empty bodyHead buffer onto the socket. Normally, stream.unshift(chunk) does not set state.reading=false. However, this check was not being done for the case when the chunk was empty (either `''` or `Buffer(0)`), and as a result, it was causing the socket to think that a read had completed, and to stop providing data. This bug is not limited to http or web sockets, but rather would affect any parser that unshifts data back onto the source stream without being very careful to never unshift an empty chunk. Since the intent of unshift is to *not* change the state.reading property, this is a bug. Fixes #5557 Fixes LearnBoost/socket.io#1242
-
- Jun 01, 2013
-
-
isaacs authored
Conflicts: ChangeLog src/node_version.h
-
- May 31, 2013
-
-
Trevor Norris authored
v8 plays very well with constructed objects, so we're using one in the nextTickQueue.
-
Trevor Norris authored
Now that maxTickDepth no longer exists there's no depth index on infoBox. Forgot to remove the comment about this.
-
Trevor Norris authored
Remove the need to call start/stop the uv_idle spinner between MakeCallbacks. The one place where the tick processor needs to be kicked is where a user catches uncaughtException. For that we'll now use setImmediate, which accomplishes the same task.
-
isaacs authored
-
isaacs authored
-
isaacs authored
* npm: Upgrade to 1.2.24 * uv: Upgrade to v0.10.9 * repl: fix JSON.parse error check (Brian White) * tls: proper .destroySoon (Fedor Indutny) * tls: invoke write cb only after opposite read end (Fedor Indutny) * tls: ignore .shutdown() syscall error (Fedor Indutny)
-
isaacs authored
-
Trevor Norris authored
maxTickDepth checks have been removed for domains and replaced with a flag that checks if the last callback threw. If it did then execution of the remaining tickQueue is deferred to the spinner. This is to prevent domains from entering a continuous loop when an error callback also throws an error.
-
Trevor Norris authored
Removes the check for maxTickDepth for non-domain callbacks. So a user can starve I/O by setting a recursive nextTick. The domain case is more complex and will be addressed in another commit.
-
Trevor Norris authored
It's only necessary to request the spinner once tickDone has been called, and not on every nextTick.
-
- May 30, 2013
-
-
Andrew Paprocki authored
Previous code was calling uv_loop_delete() directly on a running loop, which led to race condition aborts/segfaults within libuv. This change changes the watchdog thread to call uv_run() with UV_RUN_ONCE so that the call exits after either the timer times out or uv_async_send() is called from the main thread in Watchdog::Destroy(). The timer/async handles are then closed and uv_run() with UV_RUN_DEFAULT is called so that libuv has a chance to cleanup before the thread exits. The main thread meanwhile calls uv_thread_join() and then uv_loop_delete() to complete the cleanup.
-
Kiyoshi Nomo authored
`bufferSize` option has been removed in b0f6789a.
-
Ryunosuke SATO authored
Speeds up EventEmitter object construction by about 15-20%.
-
Brian White authored
Before this, entering something like: > JSON.parse('066'); resulted in the "..." prompt instead of displaying the expected "SyntaxError: Unexpected number" -
Brian White authored
-
Fedor Indutny authored
1. Emit `sslOutEnd` only when `_internallyPendingBytes() === 0`. 2. Read before checking `._halfRead`, otherwise we'll see only previous value, and will invoke `._write` callback improperly. 3. Wait for both `end` and `finish` events in `.destroySoon`. 4. Unpipe encrypted stream from socket to prevent write after destroy.
-
Bert Belder authored
-
Ben Noordhuis authored
-
Ben Noordhuis authored
-
Ben Noordhuis authored
-