Age | Commit message (Collapse) | Author |
|
No functional changes, just one less entry in the LICENSE file.
|
|
Wrapped two macros in do {...} while (0) blocks and lined up
backslashes. Uses up semicolon in contexts where a dangling semicolon
is erroneous.
|
|
Conflicts:
ChangeLog
src/node_version.h
|
|
v8 plays very well with constructed objects, so we're using one in the
nextTickQueue.
|
|
Now that maxTickDepth no longer exists there's no depth index on
infoBox. Forgot to remove the comment about this.
|
|
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.
|
|
|
|
|
|
* 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)
|
|
|
|
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.
|
|
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.
|
|
It's only necessary to request the spinner once tickDone has been
called, and not on every nextTick.
|
|
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.
|
|
`bufferSize` option has been removed in b0f6789.
|
|
Speeds up EventEmitter object construction by about 15-20%.
|
|
Before this, entering something like:
> JSON.parse('066');
resulted in the "..." prompt instead of displaying the expected
"SyntaxError: Unexpected number"
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Conflicts:
deps/uv/ChangeLog
deps/uv/src/unix/stream.c
deps/uv/src/version.c
lib/tls.js
|
|
|
|
Add `secureProtocol` parameter docs to the https.request method.
|
|
Add `secureProtocol` parameter docs to the tls.connect method.
|
|
|
|
Stream's `._write()` callback should be invoked only after it's opposite
stream has finished processing incoming data, otherwise `finish` event
fires too early and connection might be closed while there's some data
to send to the client.
see #5544
|
|
Quote from SSL_shutdown man page:
The output of SSL_get_error(3) may be misleading,
as an erroneous SSL_ERROR_SYSCALL may be flagged even though
no error occurred.
Also, handle all other errors to prevent assertion in `ClearError()`.
|
|
Conflicts:
AUTHORS
ChangeLog
configure
deps/uv/ChangeLog
deps/uv/src/unix/darwin.c
deps/uv/src/unix/stream.c
deps/uv/src/version.c
deps/v8/src/isolate.cc
deps/v8/src/version.cc
lib/http.js
src/node_version.h
|
|
Add a link to the Brazilian community portal.
|
|
Links to Node Manual and Node Bits both are broken, so this commit
removes them from the community page.
|
|
|
|
|
|
|
|
* v8: update to 3.14.5.9
* uv: upgrade to 0.10.8
* npm: Upgrade to 1.2.23
* http: remove bodyHead from 'upgrade' events (Nathan Zadoks)
* http: Return true on empty writes, not false (isaacs)
* http: save roundtrips, convert buffers to strings (Ben Noordhuis)
* configure: respect the --dest-os flag consistently (Nathan Rajlich)
* buffer: throw when writing beyond buffer (Trevor Norris)
* crypto: Clear error after DiffieHellman key errors (isaacs)
* string_bytes: strip padding from base64 strings (Trevor Norris)
|
|
|
|
When writing bad data to EncryptedStream it'll first get to the
ClientHello parser, and, only after it will refuse it, to the OpenSSL.
But ClientHello parser has limited buffer and therefore write could
return `bytes_written` < `incoming_bytes`, which is not the case when
working with OpenSSL.
After such errors ClientHello parser disables itself and will
pass-through all data to the OpenSSL. So just trying to write data one
more time will throw the rest into OpenSSL and let it handle it.
|
|
|
|
|
|
Streams2 makes this unnecessary.
An empty buffer is provided for compatibility.
|
|
This leads people to dump their fork build info into the IRC channel,
which is noisy and unhelpful.
|
|
Prior to 119354f we specifically handled passing a zero length string
to write on a buffer, restore that functionality.
|
|
Otherwise, writing an empty string causes the whole program to grind to
a halt when piping data into http messages.
This wasn't as much of a problem (though it WAS a bug) in 0.8 and
before, because our hyperactive 'drain' behavior would mean that some
*previous* write() would probably have a pending drain event, and cause
things to start moving again.
|
|
|