Commit Graph

13035 Commits (d5d301f3032a0723f5a29cfbe0d95ac4ad205d42)

Author SHA1 Message Date
Rich Trott 457a1ca3a6 test: refactor test-net-settimeout
test-net-settimeout is unnecessarily complex. This change simplifies it.

PR-URL: https://github.com/nodejs/node/pull/4799
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2016-01-25 21:58:56 -08:00
Evan Lucas 0f8e63caff dns: throw a TypeError in lookupService with invalid port
Previously, port was assumed to be a number and would cause an abort in
cares_wrap. This change throws a TypeError if port is not a number
before we actually hit C++.

Fixes: https://github.com/nodejs/node/issues/4837
PR-URL: https://github.com/nodejs/node/pull/4839
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Klauke <romaaan.git@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-01-25 15:15:31 -06:00
Alexander Makarenko 8ba5631625 doc: add `servername` parameter docs
Add `servername` parameter docs for `https.request()` method.

Follows #4389

PR-URL: https://github.com/nodejs/node/pull/4729
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-01-25 19:12:36 +01:00
Jackson Tian accd69ef63 doc: fix code type of markdowns
1. correct code type in addons.markdown
2. add missed code type in crypto.markdown

PR-URL: https://github.com/nodejs/node/pull/4858
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Klauke <romaaan.git@gmail.com>
2016-01-25 16:08:46 +01:00
Rich Trott 06a5072b38 stream: refactor redeclared variables
`lib/_stream_readable.js` contained three instances of `var`
declarations occurring twice in the same scope. Refactored to `const` or
`let` as appropriate.

PR-URL: https://github.com/nodejs/node/pull/4816
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-01-24 21:27:22 -08:00
Rich Trott c6d29cb81f test: mark test-tick-processor flaky
PR-URL: https://github.com/nodejs/node/pull/4809
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: James M Snell <jasnell@gmail.com>
Ref: https://github.com/nodejs/node/issues/4427
2016-01-24 21:18:08 -08:00
Fedor Indutny 96934cbb30 vm: introduce `cachedData`/`produceCachedData`
Introduce `cachedData`/`produceCachedData` options for `v8.Script`.
Could be used to consume/produce V8's code cache for speeding up
compilation of known code.

PR-URL: https://github.com/nodejs/node/pull/4777
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
2016-01-24 16:34:55 -05:00
Benjamin Gruenbaum 83e43fbb04 doc: check for errors in 'listen' event
In the docs we typically check for errors and surface them. This
is IMO a good idea and good practice. This PR adds a check for
errors in three places in the `net` docs where it was missing.

PR-URL: https://github.com/nodejs/node/pull/4834
Reviewed-By: Roman Reiss <me@silverwind.io>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Roman Klauke <romaaan.git@gmail.com>>
2016-01-24 19:50:43 +01:00
Jeff Harris f19b9d6b8c doc: undo move http.IncomingMessage.statusMessage
The description for `statusMessage` was accidentally moved under the
heading for `http.IncomingMessage.socket`.  This commit puts it back
in the correct place.

PR-URL: https://github.com/nodejs/node/pull/4822
Fixes: https://github.com/nodejs/node/issues/4558
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Klauke <romaaan.git@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-01-24 14:50:30 +01:00
Roman Reiss 55607a0f32 doc: style fixes for the TOC
- Hide the scrollbar on the TOC on all browsers. It was never the
  intention for it to be visible with the scroll indication in place.
  A wrapper element with 20px padding was added to accommodate for
  hopefully all scrollbar widths as well as to avoid overflowing
  content.
- Fixed the scroll indication gradient on Safari, which was caused by
  the wrong from-color, which now matches the to-color.
- Fixed a issue in old IE where the TOC didn't render on the correct
  position through setting `left: 0` and `top: 0` on it.

PR-URL: https://github.com/nodejs/node/pull/4748
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-23 23:10:43 +01:00
Benjamin Gruenbaum c00d08f5ec fs: remove unused branches
In a few places the code was refactored to use `maybeCallback` which
always returns a function. Checking for `if (callback)` always returns
true anyway.

PR-URL: https://github.com/nodejs/node/pull/4795
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: thefourtheye <thechargingvolcano@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-01-23 19:44:08 +01:00
Brian White 922d53897d tools: fix setting path containing an ampersand
This commit fixes an issue with the Node.js command prompt
on Windows where the PATH environment variable would not be
set correctly if the existing PATH contained an '&'.

Fixes: https://github.com/nodejs/node/issues/4802
PR-URL: https://github.com/nodejs/node/pull/4804
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-23 04:08:45 -05:00
Robert Jefe Lindstaedt 17d5a3ab99 doc: proper markdown escaping -> \_\_, \*, \_
PR-URL: https://github.com/nodejs/node/pull/4805
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2016-01-22 21:32:50 -08:00
Glen Arrowsmith 26073dd1c1 doc: Examples work when data exceeds buffer size
PR-URL: https://github.com/nodejs/node/pull/4811
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-22 20:34:38 -08:00
Kat Marchán 518548f1d8 doc: update list of personal traits in CoC
https://github.com/rust-lang/rust-www/pull/288 landed in the Rust repo
so it seems like a good idea to just bring the updated list in.

We also received a request to do this in https://github.com/nodejs/inclusivity/issues/82
so this should resolve that.

Thanks to [@Charlotteis](https://github.com/Charlotteis) for bringing
up the original issue.

Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Myles Borins <mborins@us.ibm.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/4801
Fixes: https://github.com/nodejs/inclusivity/issues/82
2016-01-22 13:36:01 -08:00
Robert Jefe Lindstaedt 4e1023d6b4 doc: harmonize $ node command line notation
PR-URL: https://github.com/nodejs/node/pull/4806
Reviewed-By: Stephan Belanger <admin@stephenbelanger.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-01-22 19:57:19 +01:00
Karl Skomski 2bcea02e24 doc: add buf.indexOf encoding param with example
PR-URL: https://github.com/nodejs/node/pull/3373
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
2016-01-22 11:50:54 -07:00
Trevor Norris 54cd2e1e5e buffer: properly retrieve binary length of needle
If the needle contains an extended latin-1 character then using
String::Utf8Length() will be too large and the search will return early.
Instead use String::Length() when encoding is BINARY.

PR-URL: https://github.com/nodejs/node/pull/4803
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-22 11:32:43 -07:00
Trevor Norris 7240ad4441 buffer: allow encoding param to collapse
Currently the signature is indexOf(val[, byteOffset[, encoding]])
Instead allow indexOf(val[, byteOffset][, encoding])
so that byteOffset does not need to be passed.

PR-URL: https://github.com/nodejs/node/pull/4803
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-22 11:32:16 -07:00
Fedor Indutny 6712a1faa5 internal/child_process: call postSend on error
Call `obj.postSend` in error case of `process.send()`. The
`net.Socket`'s handle should not be leaked.

Note that there are two callbacks invoked on handles
when they are sent to the child process over IPC pipes.
These callbacks are specified by `handleConversion` object, and
during send two of them are invoked:

  * `send`
  * `postSend`

Now for `net.Socket` in particular, `postSend` performs clean up by
closing the actual uv handle. However this clean up will not happen in
one of the branches. This pull request aims to fix this.

PR-URL: https://github.com/nodejs/node/pull/4752
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-22 13:27:18 -05:00
Rich Trott 58d999e8fc test: remove test-http-exit-delay
test-http-exit-delay has a flaky history. Examination of the bug it was
written to find suggests that the test should be removed.

* The test is trying to find a delay of up to 1 second, but the delay
may also be much smaller than that. So the test will not catch the bug
all the time. It is therefore flaky when the bug exists.

* Experience has shown that the test is flaky as well when the bug is
absent in the code because it can sometimes take slower devices (such as
the Raspberry Pi devices that we have in continuous integration) more
than the allowed one second to run. Increasing the timeout for those
devices will make the test pass but will also mean that the test isn't
really testing anything because the delay it is trying to catch was a
delay of up to one second.

I don't think this is an appropriate test to run once on CI. If there is
to be a test for the issue in question, it should be a benchmark test
that is run a large number of times. We don't really have such tests in
CI yet

I would argue that this test is actively a problem. It does not reliably
catch the issue it is supposed to catch, nor can it likely be made to do
so. (To do so would likely require converting it to a benchmarking test
as previously described. We don't run those in CI, at least not at this
time.)

Because this test will have both false positives and false negatives,
especially on the slower devices, it contributes to a culture of
dismissing failed tests. It does not reliably identify an issue nor does
it reliably pass on a working code base. This test should be removed.

Ref: https://github.com/nodejs/node/pull/4277
PR-URL: https://github.com/nodejs/node/pull/4786
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-01-22 10:12:06 -08:00
Tom Gallacher a1163582c5 crypto: pbkdf2 deprecate digest overload.
As per #3292, this PR introduces a deprecation notice about removing
the 'default digest' overload which currently defaults to the soon
to be defunct SHA1 digest.

Instead it should be left up to the documentation and implementor to
suggest a suitable digest function.

Ref: https://github.com/nodejs/node/pull/3292
PR-URL: https://github.com/nodejs/node/pull/4047
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Fedor Indutny <fedor@indutny.com>
Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>
2016-01-23 02:26:28 +09:00
Ali Ijaz Sheikh db9e122182 test: update ArrayBuffer alloc failure message
The error message returned on ArrayBuffer allocation failure is now different
as per https://codereview.chromium.org/1393263003.

Ref: https://github.com/nodejs/node/pull/4399
PR-URL: https://github.com/nodejs/node/pull/4785
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2016-01-21 16:54:39 -08:00
evan.lucas 674e5131ed deps: backport bc2e393 from v8 upstream
Original commit message:

  [tools] Make gen-postmortem-metadata.py more reliable

  Instead of basing matches off of whitespace, walk the
  inheritance chain and include any classes that inherit
  from Object.

  R=machenbach@chromium.org,jkummerow@chromium.org
  NOTRY=true

  Review URL: https://codereview.chromium.org/1435643002

  Cr-Commit-Position: refs/heads/master@{#31964}

This adds some missing classes to postmortem info like
JSMap and JSSet.

Ref: https://github.com/nodejs/node/pull/3792
PR-URL: https://github.com/nodejs/node/pull/4106
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
2016-01-21 16:54:38 -08:00
Fedor Indutny 113d1f3821 deps: cherry-pick 68e89fb from v8's upstream
Original commit message:

    This commit adds some postmortem data that is otherwise unavailable.

    I have discovered need in those values when writing:

    https://github.com/indutny/llnode

    BUG=

    Review URL: https://codereview.chromium.org/1436473002

    Cr-Commit-Position: refs/heads/master@{#31947}

This postmortem information is useful for both object inspection, and
function's context variables inspection.

Ref: https://github.com/nodejs/node/pull/3779
PR-URL: https://github.com/nodejs/node/pull/4106
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: targos - Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: rvagg - Rod Vagg <rod@vagg.org>
2016-01-21 16:54:38 -08:00
Ali Ijaz Sheikh ef4170ea03 deps: upgrade to V8 4.8.271.17
Pick up V8 4.8 branch-head. This branch brings in @@isConcatSpreadable,
@@toPrimitive and ToLength ES6 changes. For full details see:
http://v8project.blogspot.de/2015/11/v8-release-48.html

https://github.com/v8/v8/commit/fa163e2

Ref: https://github.com/nodejs/node/pull/4399
PR-URL: https://github.com/nodejs/node/pull/4785
Reviewed-By: bnoordhuis - Ben Noordhuis <info@bnoordhuis.nl>
2016-01-21 16:53:58 -08:00
Tom Atkinson 5f6dfab832 http: remove reference to onParserExecute
Parsers hold a reference to the socket associated with the request
through onParserExecute. This must be removed when the parser is
freed so that the socket can be garbage collected when destroyed.

Regression introduced in commit 59b91f1 ("http_parser: consume
StreamBase instance").

PR-URL: https://github.com/nodejs/node/pull/4773
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
2016-01-22 00:35:00 +01:00
Rich Trott d26b014391 test: refactor test-fs-watch
* Exchange 20 millisecond timers for setImmediate().

* Do not attempt to unlink path that will have been guaranteed to be
removed by `common.refreshTmpDir()`

* Do not swallow errors thrown by failed creation of needed test
subdirectory. If that happens, we want to know about it.

* Use `common.isSunOS` in one place where it is applicable

PR-URL: https://github.com/nodejs/node/pull/4776
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2016-01-21 15:08:31 -08:00
José Moreira 5ef9989bd6 net: add net.listening boolean property over a getter
Added a listening property into net.Server.prototype indicating
if the server is listening or not for connections.

Other Server constructors that rely on net.Server should also
gain access to this property.

Also included tests for net and http subsystems.

PR-URL: https://github.com/nodejs/node/pull/4743
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-01-21 16:34:35 -06:00
Myles Borins 8221917e85 2016-01-21, Version 4.2.6 "Argon" (LTS) Release
Notable changes:

* Fix regression in debugger and profiler functionality

PR-URL: https://github.com/nodejs/node/pull/4788
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
2016-01-21 14:19:57 -08:00
Rich Trott 0634311a9a test: move cluster tests to parallel
Two cluster tests have recently changed so that they are no longer
resource intensive. Move them back to parallel.

Ref: https://github.com/nodejs/node/pull/4736
Ref: https://github.com/nodejs/node/pull/4739
PR-URL: https://github.com/nodejs/node/pull/4774
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-01-21 13:17:12 -08:00
cjihrig 66cb4bcf0c process: support symbol events
Event emitters support symbols as event names. The process object
assumes that the event name is a string, and examines the first
three characters to check for signals. This causes an exception
if the event name is a symbol. This commit ensures that the
event name is a string before trying to slice() it.

PR-URL: https://github.com/nodejs/node/pull/4798
Reviewed-By: Sam Roberts <vieuxtech@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Wyatt Preul <wpreul@gmail.com>
2016-01-21 15:17:38 -05:00
Robert Jefe Lindstaedt e436272897 doc: fenced all code blocks, typo fixes
This changes the code blocks from 4-space indentation to ``` fences for
better syntax highlighting and future linting support. Minor On-the-fly
changes for typos and highlight breaking markdown have been made.

JSON-Style objects have been changed so their closing bracket is
on the same line as the opening one.

Known issues:
* Not every JSON / object notation has been improved. Should
  make another run for this.
* Some example functions break hightlighting due to various
  combinations of brackets. However changing them means leaving
  the code style.

Fixes: https://github.com/nodejs/node/issues/4726
PR-URL: https://github.com/nodejs/node/pull/4733
Reviewed-By: Roman Reiss <me@silverwind.io>
2016-01-21 20:55:09 +01:00
Stefan Budeanu bf1237921c build: Add VARIATION variable to binary target
If the VARIATION variable is present, then make binary will produce archives
named node-$(FULLVERSION)-$(PLATFORM)-$(ARCH)-$(VARIATION).

PR-URL: https://github.com/nodejs/node/pull/4631
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Rod Vagg <rod@vagg.org>
2016-01-21 16:28:23 +11:00
Evan Lucas 318ded2c4d 2016-01-20, Version 5.5.0 (Stable)
Notable changes:

* events: make sure console functions exist (Dave) https://github.com/nodejs/node/pull/4479
* fs: add autoClose option to fs.createWriteStream (Saquib) https://github.com/nodejs/node/pull/3679
* http: improves expect header handling (Daniel Sellers) https://github.com/nodejs/node/pull/4501
* node: allow preload modules with -i (Evan Lucas) https://github.com/nodejs/node/pull/4696
* v8,src: expose statistics about heap spaces (`v8.getHeapSpaceStatistics()`) (Ben Ripkens) https://github.com/nodejs/node/pull/4463
* Minor performance improvements:
  - lib: Use arrow functions instead of bind where possible (Minwoo Jung) https://github.com/nodejs/node/pull/3622
  - module: cache stat() results more aggressively (Ben Noordhuis) https://github.com/nodejs/node/pull/4575
  - querystring: improve parse() performance (Brian White) https://github.com/nodejs/node/pull/4675

PR-URL: https://github.com/nodejs/node/pull/4742
2016-01-20 20:23:48 -06:00
Ben Noordhuis 1e5a02628c src: fix negative values in process.hrtime()
Fix a regression introduced in commit 89f056b ("node: improve
performance of hrtime()") where the nanosecond field sometimes
had a negative value when calculating the difference between two
timestamps.

Fixes: https://github.com/nodejs/node/issues/4751
PR-URL: https://github.com/nodejs/node/pull/4757
Reviewed-By: Evan Lucas <evanlucas@me.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
2016-01-20 22:00:37 +01:00
Myles Borins d50a8a9848 2016-01-20, Version 4.2.5 "Argon" (LTS) Release
Notable changes:

* assert
  -  accommodate ES6 classes that extend Error (Rich Trott) https://github.com/nodejs/node/pull/4166
* build
  - add "--partly-static" build options (Super Zheng) https://github.com/nodejs/node/pull/4152
* deps
  - backport 066747e from upstream V8 (Ali Ijaz Sheikh) https://github.com/nodejs/node/pull/4655
  - backport 200315c from V8 upstream (Vladimir Kurchatkin) https://github.com/nodejs/node/pull/4128
  - upgrade libuv to 1.8.0 (Saúl Ibarra Corretgé)
* docs
  - various updates landed in 70 different commits!
* repl
  - attach location info to syntax errors (cjihrig) https://github.com/nodejs/node/pull/4013
  - display error message when loading directory (Prince J Wesley) https://github.com/nodejs/node/pull/4170
* tests
  - various updates landed in over 50 commits
* util
  - allow lookup of hidden values (cjihrig) https://github.com/nodejs/node/pull/3988

PR-URL: https://github.com/nodejs/node/pull/4768
2016-01-20 12:47:54 -08:00
Richard Lau c9dbd2b19f doc: restore ICU third-party software licenses
PR-URL: https://github.com/nodejs/node/pull/4762
Reviewed-By: Rod Vagg <rod@vagg.org>
2016-01-20 16:34:21 +11:00
Richard Lau 2b9bd0f7b0 tools: fix license-builder.sh for ICU
Modify tools/license-builder.sh to restore the Third-Party Software
licenses for ICU.

Also fix arguments to tail to work on Linux.

rvagg: modified sed command for ICU to replace tabs with spaces and
       remove whitespace at the end of lines

PR-URL: https://github.com/nodejs/node/pull/4762
Reviewed-By: Rod Vagg <rod@vagg.org>
2016-01-20 16:34:16 +11:00
Rich Trott 44aba1ab1c test: improve test-cluster-disconnect-suicide-race
Previously, test-cluster-disconnect-suicide-race had two issues:

* Magic numbers: How many times to spawn a worker was determined through
empirical experimentation. This means that as new platforms and new
CPU/RAM configurations are tested, the magic numbers require more
and more refinement. This brings us to...

* Non-determinism: The test seems to fail all the time when the bug
it tests for is present, but it's really a judgment based on sampling.
"Oh, with 8 workers per CPU, it fails about 80% of the time. Let's try
16..."

This revised version of the test takes a different approach. The fix
for the bug that the test was written for means that the disconnect
event will fire on a subsequent tick. So we check for that and the test
still fails when the fix is not in the code base and succeeds when it
is.

Advantages of this approach include:

* The test runs much faster.
* The test should be reliable on any new platform regardless of CPU and
RAM.

PR-URL: https://github.com/nodejs/node/pull/4739
Ref: https://github.com/nodejs/node/pull/4674
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-19 15:42:43 -08:00
Evan Lucas df4d209ad5 stream: prevent object map change in ReadableState
ReadableState has the resumeScheduled property that helps determine if
a stream should be resumed. It was not assigned in the constructor.
When stream.resume is called on a readable stream that is not flowing,
it is set to true. This changes the property map of the ReadableState
which can cause a deopt in onEofChunk and needMoreData.

PR-URL: https://github.com/nodejs/node/pull/4761
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
2016-01-19 13:27:54 -06:00
Roman Reiss 647861befb test: fix issues for space-in-parens ESLint rule
PR-URL: https://github.com/nodejs/node/pull/4753
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2016-01-19 04:09:39 +01:00
Roman Reiss 6588a70463 tools: enable space-in-parens ESLint rule
Ref: http://eslint.org/docs/rules/space-in-parens.html
PR-URL: https://github.com/nodejs/node/pull/4753
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Evan Lucas <evanlucas@me.com>
2016-01-19 04:08:58 +01:00
Rich Trott d5c525dc74 test: make test-cluster-disconnect-leak reliable
Previously, test-cluster-disconnect-leak had two issues:

* Magic numbers: How many times to spawn a worker was determined through
empirical experimentation. This means that as new platforms and new
CPU/RAM configurations are tested, the magic numbers require more
and more refinement. This brings us to...

* Non-determinism: The test *seems* to fail all the time when the bug
it tests for is present, but it's really a judgment based on sampling.
"Oh, with 8 workers per CPU, it fails about 80% of the time. Let's try
16..."

This revised version of the test takes a different approach. The fix
for the bug that the test was written for means that the `disconnect`
event will fire reliably for a single worker. So we check for that and
the test still fails when the fix is not in the code base and succeeds
when it is.

Advantages of this approach include:

* The test runs much faster.
* The test now works on Windows. The previous version skipped Windows.
* The test should be reliable on any new platform regardless of CPU and
RAM.

Ref: https://github.com/nodejs/node/pull/4674

PR-URL: https://github.com/nodejs/node/pull/4736
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Johan Bergström <bugs@bergstroem.nu>
2016-01-18 16:23:19 -08:00
cjihrig eee9dc7e9d Revert "stream: add bytesRead property for readable"
This reverts commit bfb2cd0bfd.

The bytesRead property, as implemented, tracks characters
instead of bytes when using an identity encoding.

Refs: https://github.com/nodejs/node/pull/4372
PR-URL: https://github.com/nodejs/node/pull/4746
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-18 13:13:04 -05:00
Evan Lucas ff64a4c395 node: allow preload modules with -i
This gives us the ability to preload when using the node repl. This can
be useful for doing things like creating aliases.

Fixes: https://github.com/nodejs/node/issues/4661
PR-URL: https://github.com/nodejs/node/pull/4696
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-18 10:57:45 -06:00
Jackson Tian 8d0ca10752 buffer: make byteLength work with Buffer correctly
Make the byteLength work correctly when input is Buffer.

e.g:

```js
// The incomplete unicode string
Buffer.byteLength(new Buffer([0xe4, 0xb8, 0xad, 0xe6, 0x96]))
```
The old output: 9
The new output: 5

PR-URL: https://github.com/nodejs/node/pull/4738
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Brian White <mscdex@mscdex.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2016-01-18 08:54:38 -08:00
Ben Ripkens 5f57005ec9 v8,src: expose statistics about heap spaces
Provide means to inspect information about the separate heap spaces
via a callable API. This is helpful to analyze memory issues.

Fixes: https://github.com/nodejs/node/issues/2079
PR-URL: https://github.com/nodejs/node/pull/4463
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-18 11:44:00 -05:00
Santiago Gimeno e65f1f7954 test: fix tls-multi-key race condition
In some conditions it can happen that the client-side socket is
destroyed before the server-side socket has gracefully closed, thus
causing a 'ECONNRESET' error in this socket. To solve this, also close
gracefully in the client side.

PR-URL: https://github.com/nodejs/node/pull/3966
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-18 08:01:57 -08:00
Kohei TAKATA ad63d350d4 readline: Remove XXX and output debuglog
Remove a comment that has a word 'XXX'.
And add a line to output debuglog of error.

PR-URL: https://github.com/nodejs/node/pull/4690
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2016-01-18 07:57:55 -08:00