Denys Otrishko and Anna Henningsen
da3626adcc
doc: add note regarding file structure in src/README.md
...
Refs: https://github.com/nodejs/node/pull/34944#discussion_r480321239
Co-authored-by: Anna Henningsen <anna@addaleax.net >
PR-URL: https://github.com/nodejs/node/pull/35000
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Juan José Arboleda <soyjuanarbol@gmail.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
2020-11-09 19:00:13 +01:00
Denys Otrishko
ce11b1c395
build: fix landed message for multiple commits in commit-queue
...
PR-URL: https://github.com/nodejs/node/pull/35226
Reviewed-By: Mary Marchini <oss@mmarchini.me >
Reviewed-By: Michaël Zasso <targos@protonmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2020-10-09 18:37:53 +00:00
Denys Otrishko
5509c1b7e5
build: add Commit Queue actions url to failure comment
...
PR-URL: https://github.com/nodejs/node/pull/35206
Refs: https://docs.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables
Reviewed-By: Mary Marchini <oss@mmarchini.me >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com >
2020-10-09 11:05:32 -07:00
Denys Otrishko
db4e70141d
doc: mention adding YAML for APIs in PR contributing guide
...
PR-URL: https://github.com/nodejs/node/pull/35459
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Richard Lau <rlau@redhat.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Mary Marchini <oss@mmarchini.me >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2020-10-04 06:09:28 -07:00
Denys Otrishko
b1831fed3a
events: simplify event target agnostic logic in on and once
...
PR-URL: https://github.com/nodejs/node/pull/34997
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com >
2020-09-11 18:04:40 +03:00
Denys Otrishko
c66e6471e7
lib: remove ERR_INVALID_OPT_VALUE and ERR_INVALID_OPT_VALUE_ENCODING
...
This will be a start to generalize all argument validation
errors. As currently we throw ARG/OPT, OUT_OF_RANGE, and other more
specific errors.
The OPT errors didn't bring much to the errors as it's just another
variant of ARG error which is sometimes more confusing (some of our code
used OPT errors to denote just argument validation errors presumably
because of similarity of OPT to 'option' and not 'options-object')
and they don't specify the name of the options object where the invalid
value is located. Much better approach would be to just specify path
to the invalid value in the name of the value as it is done in this PR
(i.e. 'options.format', 'options.publicKey.type' etc)
Also since this decreases a variety of errors we have it'd be easier to
reuse validation code across the codebase.
Refs: https://github.com/nodejs/node/pull/31251
Refs: https://github.com/nodejs/node/pull/34070#discussion_r467251009
Signed-off-by: Denys Otrishko <shishugi@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/34682
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-09-11 17:54:42 +03:00
Denys Otrishko
e2ffa454d3
stream: fix Readable stream state properties
...
Looks like they have been accidentally moved in
https://github.com/nodejs/node/pull/31144 .
PR-URL: https://github.com/nodejs/node/pull/34886
Reviewed-By: Robert Nagy <ronagy@icloud.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Zeyu Yang <himself65@outlook.com >
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
Reviewed-By: Ricky Zhou <0x19951125@gmail.com >
2020-09-01 20:39:17 +00:00
Denys Otrishko
75d943ed4a
build: use autorebase option for git node land
...
This will allow to land commits with multiple commits and also properly
handle proper `fixup` commits.
Refs: https://github.com/nodejs/node-core-utils/pull/473
PR-URL: https://github.com/nodejs/node/pull/34969
Reviewed-By: Mary Marchini <oss@mmarchini.me >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Shelley Vohr <codebytere@gmail.com >
2020-08-31 14:22:03 -07:00
Denys Otrishko
6199678d67
build: use latest node-core-utils from npm
...
PR-URL: https://github.com/nodejs/node/pull/34969
Reviewed-By: Mary Marchini <oss@mmarchini.me >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Shelley Vohr <codebytere@gmail.com >
2020-08-31 14:22:01 -07:00
Denys Otrishko
a36b7d8960
net: replace usage of internal stream state with public api
...
Refs: https://github.com/nodejs/node/issues/445
PR-URL: https://github.com/nodejs/node/pull/34885
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ricky Zhou <0x19951125@gmail.com >
2020-08-29 09:34:43 +00:00
Denys Otrishko
7fca0df180
zlib: replace usage of internal stream state with public api
...
Refs: https://github.com/nodejs/node/issues/445
PR-URL: https://github.com/nodejs/node/pull/34884
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-08-29 09:34:33 +00:00
Denys Otrishko
a0846326dd
esm: improve error message of ERR_UNSUPPORTED_ESM_URL_SCHEME
...
Refs: https://github.com/nodejs/node/issues/34765
PR-URL: https://github.com/nodejs/node/pull/34795
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Jan Krems <jan.krems@gmail.com >
Reviewed-By: Guy Bedford <guybedford@gmail.com >
Reviewed-By: Bradley Farias <bradley.meck@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-18 17:56:47 -07:00
Denys Otrishko
6726246dbb
lib: allow to validate enums with validateOneOf
...
PR-URL: https://github.com/nodejs/node/pull/34070
Reviewed-By: Zeyu Yang <himself65@outlook.com >
Reviewed-By: Tobias Nießen <tniessen@tnie.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-08-17 11:50:46 -07:00
Denys Otrishko
8da8ec9c7e
errors: improve ERR_INVALID_OPT_VALUE error
...
* use util.inspect for value presentation
* allow to optionally specify error reason
PR-URL: https://github.com/nodejs/node/pull/34671
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Mary Marchini <oss@mmarchini.me >
2020-08-14 19:32:09 -07:00
Denys Otrishko
6914b3798c
test: add tests for validateNumber/validateString
...
PR-URL: https://github.com/nodejs/node/pull/34672
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com >
Reviewed-By: Pranshu Srivastava <rexagod@gmail.com >
Reviewed-By: Ricky Zhou <0x19951125@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-08-09 14:51:08 -07:00
Denys Otrishko
62198d2d17
http2: avoid unnecessary buffer resize
...
Refs: https://github.com/nodejs/node/pull/34315
Refs: https://github.com/nodejs/node/pull/30351
PR-URL: https://github.com/nodejs/node/pull/34480
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: David Carlier <devnexen@gmail.com >
2020-07-27 15:41:41 +02:00
Denys Otrishko
b4fe76d656
doc: improve async_hooks asynchronous context example
...
* use writeFile(1) everywhere to log
* prettify execution id graph
* add clearer explanation for TickObject presence
* add causation graph via triggerAsyncId
PR-URL: https://github.com/nodejs/node/pull/33730
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de >
Reviewed-By: Andrey Pechkurov <apechkurov@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com >
2020-07-03 13:24:39 -07:00
Denys Otrishko
bd8a7196fc
fs: fix realpath inode link caching
...
The `fs.realpath` / `fs.realpathSync` cache already seen symbolic links
using the inode number which may be longer that max supported
JS number (2**53) and will therefore be incorrectly handled by possibly
entering infinite loop of calling stat on the same node.
This PR changes those functions (where appropriate) to use
bigint for inode numbers.
Fixes: https://github.com/nodejs/node/issues/33936
PR-URL: https://github.com/nodejs/node/pull/33945
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-06-24 16:37:42 -07:00
ca46c3b5dc
timers: allow timers to be used as primitives
...
This allows timers to be matched to numeric Ids and therefore used
as keys of an Object, passed and stored without storing the Timer instance.
clearTimeout/clearInterval is modified to support numeric/string Ids.
Co-authored-by: Bradley Farias <bradley.meck@gmail.com >
Co-authored-by: Anatoli Papirovski <apapirovski@mac.com >
Refs: https://github.com/nodejs/node/pull/21152
PR-URL: https://github.com/nodejs/node/pull/34017
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Bradley Farias <bradley.meck@gmail.com >
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2020-06-24 16:15:41 -07:00
Denys Otrishko
225a03c5bb
test: print arguments passed to mustNotCall function
...
Refs: https://github.com/nodejs/node/pull/33949#discussion_r442473532
Signed-off-by: Denys Otrishko <shishugi@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/33951
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-06-24 15:41:44 -07:00
Denys Otrishko
78ca61e2cf
net: check args in net.connect() and socket.connect() calls
...
Previously Node.js would handle empty `net.connect()` and
`socket.connect()` call as if the user passed empty options object which
doesn't really make sense. This was due to the fact that it uses the
same `normalizeArgs` function as `.listen()` call where such call is
perfectly fine.
This will make it clear what is the problem with such call and how it
can be resolved. It now throws `ERR_MISSING_ARGS` if no arguments were
passed or neither `path` nor `port` is specified.
Fixes: https://github.com/nodejs/node/issues/33930
PR-URL: https://github.com/nodejs/node/pull/34022
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Zeyu Yang <himself65@outlook.com >
2020-06-24 14:45:10 -07:00
Denys Otrishko
b546a2b469
lib: handle one of args case in ERR_MISSING_ARGS
...
This makes ERR_MISSING_ARGS handle nested arrays in argument names as
one-of case and will print them as '"arg1" or "arg2" or "arg3"'.
Example:
```js
throw new ERR_MISSING_ARGS(['a', 'b', 'c']);
// will result in message:
// The "a" or "b" or "c" argument must be specified
```
PR-URL: https://github.com/nodejs/node/pull/34022
Fixes: https://github.com/nodejs/node/issues/33930
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Zeyu Yang <himself65@outlook.com >
2020-06-24 14:45:08 -07:00
Denys Otrishko
42d932c59b
events: fix depth in customInspectSymbol and clean up
...
PR-URL: https://github.com/nodejs/node/pull/34015
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2020-06-23 17:08:08 -07:00
Denys Otrishko
5e6ae9aa5d
events: use internal/validators in event_target.js
...
PR-URL: https://github.com/nodejs/node/pull/34015
Reviewed-By: Denys Otrishko <shishugi@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2020-06-23 17:08:07 -07:00
Denys Otrishko
64d22c320c
timers: fix multipleResolves in promisified timeouts/immediates
...
After successful timer finish the abort event callback would still
reject (already resolved promise) upon calling abortController.abort().
Signed-off-by: Denys Otrishko <shishugi@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/33949
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-06-21 17:26:36 +02:00
Denys Otrishko
fd7e5d40a4
wasi: clean up options validation
...
PR-URL: https://github.com/nodejs/node/pull/31797
Reviewed-By: Jiawen Geng <technicalcute@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-03-30 17:22:22 +02:00
Denys Otrishko
4b84010e5a
doc: clear up child_process command resolution
...
Fixes: https://github.com/nodejs/node/issues/20605
Refs: https://github.com/libuv/libuv/pull/1837
PR-URL: https://github.com/nodejs/node/pull/32091
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-03-11 17:36:17 +01:00
Denys Otrishko
30bbeb7680
test: always skip vm-timeout-escape-queuemicrotask
...
This issue is unfixable with the current implementations of V8 and
Node.js. Changes to make this fixable are unlikely to happen in the
foreseeable future. The test itself is flaky and skipped. It
serves as a demonstration of the issue only.
PR-URL: https://github.com/nodejs/node/pull/31980
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Matheus Marchini <mat@mmarchini.me >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-03-10 11:49:09 -07:00
Denys Otrishko
98f44296dc
src: simplify node_worker.cc using new KVStore API
...
PR-URL: https://github.com/nodejs/node/pull/31773
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-09 13:08:16 +01:00
Denys Otrishko
cee145251e
src: improve KVStore API
...
This adds `const char*` based APIs to KVStore to avoid multiple string
conversions (char -> Utf8 -> Local -> char etc.) when possible.
PR-URL: https://github.com/nodejs/node/pull/31773
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-03-09 13:08:14 +01:00
Denys Otrishko
5c86475e20
test: validate common property usage
...
`common` contains multiple 'check'(boolean) properties that will be
false if mistyped and may lead to errors.
This makes sure that the used property exists in the `common`.
PR-URL: https://github.com/nodejs/node/pull/31933
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Shelley Vohr <codebytere@gmail.com >
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-02-27 06:00:44 -08:00
Denys Otrishko
2ec9b58a41
test: fix usage of invalid common properties
...
PR-URL: https://github.com/nodejs/node/pull/31933
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Shelley Vohr <codebytere@gmail.com >
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-02-27 06:00:39 -08:00
Denys Otrishko
468bfd3487
test: increase timeout in vm-timeout-escape-queuemicrotask
...
It looks like under high load the loop isn't even started and therefore
successfully finishes without 'escaping'. After increasing the timeout
during parallel run of the test failure rate decreased from 15/1000 to
0/1000.
PR-URL: https://github.com/nodejs/node/pull/31966
Refs: https://github.com/nodejs/node/issues/25529
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-02-26 22:18:08 -08:00
Denys Otrishko
bc55b57e64
lib: fix few comment typos in fs/watchers.js
...
PR-URL: https://github.com/nodejs/node/pull/31705
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2020-02-13 21:19:23 +01:00
Denys Otrishko
d63bcdd9cd
worker: properly handle env and NODE_OPTIONS in workers
...
PR-URL: https://github.com/nodejs/node/pull/31711
Fixes: https://github.com/nodejs/node/issues/30627
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2020-02-13 16:05:27 +01:00
Denys Otrishko
84b8857098
src: allow to reuse env options handling
...
PR-URL: https://github.com/nodejs/node/pull/31711
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com >
2020-02-13 16:05:17 +01:00
Denys Otrishko
2abf0afb2b
vm: refactor value validation with internal/validators.js
...
PR-URL: https://github.com/nodejs/node/pull/31480
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Gus Caplan <me@gus.host >
2020-02-10 21:41:00 +02:00
Denys Otrishko
c405e9b23c
lib: improve value validation utils
...
Add common validators: `validateArray`, `validateBoolean`,
`validateObject` and appropriate tests.
PR-URL: https://github.com/nodejs/node/pull/31480
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Gus Caplan <me@gus.host >
2020-02-10 21:40:41 +02:00
Denys Otrishko
f7a1ef6fb5
benchmark: clean up config resolution in multiple benchmarks
...
This removes 'to Number' casting in multiple benchmarks (which is
handled by the benchmark runner) and cleans up some var usage in changed
benchmarks.
PR-URL: https://github.com/nodejs/node/pull/31581
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-02-02 19:45:02 -08:00
Denys Otrishko
aec9ad8f6c
src: fix console debug output on Windows
...
The FWrite function on Windows assumed that MultiByteToWideChar
automatically null-terminates the resulting string, but it will only do
so if the size of the source was passed as -1 or null character was
explicitly counted in the size. The FWrite uses std::string and its
`.size()` method which doesn't count the null character even though the
`.data()` method adds it to the resulting string.
https://docs.microsoft.com/en-us/windows/win32/api/stringapiset/nf-stringapiset-multibytetowidechar#remarks
> MultiByteToWideChar does not null-terminate an output string if the
input string length is explicitly specified without a terminating null
character. To null-terminate an output string for this function, the
application should pass in -1 or explicitly count the terminating null
character for the input string.
PR-URL: https://github.com/nodejs/node/pull/31580
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-02-02 14:12:23 +01:00
Denys Otrishko
be6596352b
doc: clarify require() OS independence
...
PR-URL: https://github.com/nodejs/node/pull/31571
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-01-31 19:05:16 -08:00
Denys Otrishko
2462a2c5d7
src: fix ignore GCC -Wcast-function-type for older compilers
...
Fixes: https://github.com/nodejs/node/issues/31517
PR-URL: https://github.com/nodejs/node/pull/31524
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-01-28 19:52:30 -08:00
Denys Otrishko
f2d5173b9d
doc: clean up and streamline vm.md examples
...
PR-URL: https://github.com/nodejs/node/pull/31474
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-01-25 15:08:19 -08:00
Denys Otrishko
08f57265b5
src: reduce code duplication in BootstrapNode
...
PR-URL: https://github.com/nodejs/node/pull/31465
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2020-01-25 09:26:49 -08:00
Denys Otrishko
a566c05a49
test: fix recursive rm test to actually use tmpdir
...
Previously folders were created in the root of the project and would
therefore stay there in case of errors. This changes the test to create
all directories in the temp directory (`tmpdir.path`).
PR-URL: https://github.com/nodejs/node/pull/31250
Reviewed-By: Bryan English <bryan@bryanenglish.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2020-01-09 16:47:12 -08:00
Denys Otrishko
837e5af551
src: clean up large_pages code
...
PR-URL: https://github.com/nodejs/node/pull/31196
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2020-01-07 13:11:09 -08:00
Denys Otrishko
51aca6d9f1
test: log errors in test-http2-propagate-session-destroy-code
...
PR-URL: https://github.com/nodejs/node/pull/31072
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2019-12-27 06:19:10 -08:00
Denys Otrishko
e28c1c7f3b
src: make large_pages node.cc include conditional
...
The usage of the relevant methods from the file is conditional so make
the include conditional too.
PR-URL: https://github.com/nodejs/node/pull/31078
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2019-12-27 06:17:28 -08:00
f8d7e2216e
tls: add PSK support
...
Add the `pskCallback` client/server option, which resolves an identity
or identity hint to a pre-shared key.
Add the `pskIdentityHint` server option to set the identity hint for the
ServerKeyExchange message.
Co-authored-by: Chris Osborn <chris.osborn@sitelier.com >
Co-authored-by: stephank <gh@stephank.nl >
Co-authored-by: Taylor Zane Glaeser <tzglaeser@gmail.com >
PR-URL: https://github.com/nodejs/node/pull/23188
Reviewed-By: Sam Roberts <vieuxtech@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2019-12-25 12:24:42 +01:00
Denys Otrishko
be3c7aceba
http2: wait for session socket writable end on close/destroy
...
This slightly alters the behaviour of session close by first using
.end() on a session socket to finish writing the data and only then
calls .destroy() to make sure the Readable side is closed. This allows
the socket to finish transmitting data, receive proper FIN packet and
avoid ECONNRESET errors upon graceful close.
onStreamClose now directly calls stream.destroy() instead of
kMaybeDestroy because the latter will first check that the stream has
writableFinished set. And that may not be true as we have just
(synchronously) called .end() on the stream if it was not closed and
that doesn't give it enough time to finish. Furthermore there is no
point in waiting for 'finish' as the other party have already closed the
stream and we won't be able to write anyway.
This also changes a few tests to correctly handle graceful session
close. This includes:
* not reading request data (on client side)
* not reading push stream data (on client side)
* relying on socket.destroy() (on client) to finish server session
due to the destroy of the socket without closing the server session.
As the goaway itself is *not* a session close.
Added few 'close' event mustCall checks.
PR-URL: https://github.com/nodejs/node/pull/30854
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2019-12-25 11:07:04 +01:00
Denys Otrishko
a8c2c667ce
http2: wait for session to finish writing before destroy
...
PR-URL: https://github.com/nodejs/node/pull/30854
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
2019-12-25 11:07:02 +01:00
Denys Otrishko
ea6a4576ae
test: unflake async hooks statwatcher test
...
Under high load 2 types of issues arise with this test.
* filesystem calls gets queued even when the 'sync' is used which leads
to async_hooks being called with the events of tmpdir clean or
initial file write after clean.
This is solved by counting all 'change' calls while making sure there
is no dependency of StatWatcher's on one another and the expected
changes are waited for.
* some events are getting lost with the current
clean->write->write_and_watch strategy. Specifically I observed the
file size going from 0 to 5 entirely skipping 3 even though the write
call was there (this happened reliably on -j128).
So I've changed the strategy to avoid additional write considering
this still tests the hooks correctly.
This may indicate some sort of bug in async_hooks though I'm not sure.
Closes: https://github.com/nodejs/node/issues/21425
PR-URL: https://github.com/nodejs/node/pull/30362
Fixes: https://github.com/nodejs/node/issues/21425
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: Vladimir de Turckheim <vlad2t@hotmail.com >
2019-12-21 19:15:22 -08:00
Denys Otrishko
2dff8ddafb
http2: forward debug message in debugStreamObj
...
PR-URL: https://github.com/nodejs/node/pull/30840
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com >
2019-12-12 10:04:48 -05:00
Denys Otrishko
51ccf1b5e9
http2: streamline OnStreamRead streamline memory accounting
...
* avoid consecutive decrement/increment session memory calls.
* only Resize the buffer when it is needed.
* flip `stream_buf_offset_` condition to the LIKELY case.
PR-URL: https://github.com/nodejs/node/pull/30351
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2019-12-06 01:17:02 +01:00
Denys Otrishko
53fb7be5ea
http2: small clean up in OnStreamRead
...
PR-URL: https://github.com/nodejs/node/pull/30351
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2019-12-06 01:16:59 +01:00
Denys Otrishko
a1cbbd1da6
n-api: implement napi_is_detached_arraybuffer
...
This implements ArrayBuffer#IsDetachedBuffer operation as per ECMAScript
specification Section 24.1.1.2 https://tc39.es/ecma262/#sec-isdetachedbuffer
Closes: https://github.com/nodejs/node/issues/29955
PR-URL: https://github.com/nodejs/node/pull/30613
Fixes: https://github.com/nodejs/node/issues/29955
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
2019-11-28 15:15:36 +01:00
Denys Otrishko
3e6e0006d8
n-api: add missed nullptr check in napi_has_own_property
...
PR-URL: https://github.com/nodejs/node/pull/30626
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
Reviewed-By: Chengzhong Wu <legendecas@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2019-11-28 01:42:16 +01:00
Denys Otrishko
988034be6a
http2: make maximum tolerated rejected streams configurable
...
PR-URL: https://github.com/nodejs/node/pull/30534
Fixes: https://github.com/nodejs/node/issues/30505
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2019-11-28 00:48:57 +01:00
Denys Otrishko
74f6bc7056
test: update and harden http2-reset-flood
...
* use new maxSessionInvalidFrames to lower the needed frames
* slow down requests to generate less redundant after-session-close
requests
PR-URL: https://github.com/nodejs/node/pull/30534
Fixes: https://github.com/nodejs/node/issues/30505
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2019-11-28 00:48:29 +01:00
Denys Otrishko
9590f577b0
http2: allow to configure maximum tolerated invalid frames
...
PR-URL: https://github.com/nodejs/node/pull/30534
Fixes: https://github.com/nodejs/node/issues/30505
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2019-11-28 00:48:28 +01:00
Denys Otrishko
df0f9e47ee
http2: replace direct array usage with struct for js_fields_
...
PR-URL: https://github.com/nodejs/node/pull/30534
Fixes: https://github.com/nodejs/node/issues/30505
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: David Carlier <devnexen@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2019-11-28 00:47:50 +01:00
Denys Otrishko
84a95b8220
doc: add note about debugging worker_threads
...
PR-URL: https://github.com/nodejs/node/pull/30594
Fixes: https://github.com/nodejs/node/issues/30197
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com >
2019-11-25 06:11:09 +01:00
Denys Otrishko
8138e9ce50
doc: add mention for using promisify on class methods
...
Fixes: https://github.com/nodejs/node/issues/30344
PR-URL: https://github.com/nodejs/node/pull/30355
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2019-11-20 17:00:47 -08:00
Denys Otrishko
c8d00d9ed0
doc: explain GIT_REMOTE_REF in COLLABORATOR_GUIDE
...
PR-URL: https://github.com/nodejs/node/pull/30371
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2019-11-20 16:58:07 -08:00
Denys Otrishko
a30a9f8193
test: clean up http-set-trailers
...
* remove shared state of request counting from each listener by using
callbacks to report test finish. This also fixes slight race condition
where one of the request could finish before the other was taken into
account resulting in ECONNREFUSED due to premature server.close()
* slightly move code for better cohesion
* fix error comment in testHttp10 'Trailer ...' -> 'No trailer ...'
PR-URL: https://github.com/nodejs/node/pull/30522
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com >
2019-11-20 13:18:46 -08:00
Denys Otrishko
80441c8086
src,test: fix JSON escaping in node-report
...
Previously only simple escape sequences were handled
(i.e. \n, \t, r etc.). This commit adds escaping of other control
symbols in the range of 0x00 to 0x20.
Also, this replaces multiple find+replace calls with a single pass
replacer.
PR-URL: https://github.com/nodejs/node/pull/25626
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
2019-01-25 08:19:11 +01:00
Denys Otrishko
9b60bcb3b9
test: slightly refactor test-child-process-execsync
...
* move `start` time to the point of execution (avoids counting 'throws'
tests towards 'timeout' test case)
* scope cmd/ret values where possible
* use `filter` instead of manual if/return
PR-URL: https://github.com/nodejs/node/pull/25227
Refs: https://github.com/nodejs/node/issues/24921
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-12-31 01:28:48 +01:00
Denys Otrishko
f90cf19fdd
doc: remove notice of dashes in V8 options
...
Previously only V8 options supported both dashes in them (making them
equivalent), but now Node.js also supports both styles so the note can
be removed.
PR-URL: https://github.com/nodejs/node/pull/23903
Refs: https://github.com/nodejs/node/pull/18592
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: George Adams <george.adams@uk.ibm.com >
2018-10-29 21:24:08 +00:00
Denys Otrishko
0ea804aae5
test: improve test-gc-http-client-onerror
...
* refactor out usage of 'function' for scoping
* inline runTest function
PR-URL: https://github.com/nodejs/node/pull/23196
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-10-12 14:24:39 -07:00
Denys Otrishko
63a6352aaf
test: improve test-gc-http-client-connaborted
...
* refactor out usage of 'function' for scoping
* wait till server is up to start firing requests
PR-URL: https://github.com/nodejs/node/pull/23193
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
2018-10-12 14:23:46 -07:00
Denys Otrishko
6f7fd7f9bc
build: add pgo specific variables to common.gypi
...
Refs: https://github.com/nodejs/node/pull/22772#issuecomment-419930590
PR-URL: https://github.com/nodejs/node/pull/23102
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Richard Lau <riclau@uk.ibm.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-10-04 14:45:58 -07:00
Denys Otrishko
69a422bba7
test: harden test-gc-http-client-timeout
...
* decrease number of requests 500 -> 300
* extract 'cb' to a file-local function
This should make test more reliable and less resource intensive.
PR-URL: https://github.com/nodejs/node/pull/23184
Refs: https://github.com/nodejs/node/issues/23066
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: James M Snell <jasnell@gmail.com >
2018-10-04 08:59:40 +02:00
Denys Otrishko
1be804d625
test: replace localhost with os.hostname in fs-readfilesync
...
PR-URL: https://github.com/nodejs/node/pull/23101
Fixes: https://github.com/nodejs/node/issues/21501
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: John-David Dalton <john.david.dalton@gmail.com >
2018-10-01 07:17:45 +02:00
Denys Otrishko
1b92214d09
module: fix inconsistency between load and _findPath
...
Files with multiple extensions are not handled by require-module system
therefore if you have file 'file.foo.bar' and require('./file') it won't
be found even while using require.extensions['foo.bar'] but before this
commit if you have require.extensions['foo.bar'] and
require.extensions['bar'] set then the latter will be called if you do
require('./file') but if you remove the former the former ('foo.bar')
property it will fail.
This commit makes it always fail in such cases.
Fixes: https://github.com/nodejs/node/issues/4778
PR-URL: https://github.com/nodejs/node/pull/22382
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: John-David Dalton <john.david.dalton@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2018-09-17 17:41:42 +02:00
Denys Otrishko
7aac70607d
benchmark: add lines to scatter plots
...
Adds lines between the points of the same category in scatter.R plots.
PR-URL: https://github.com/nodejs/node/pull/22074
Reviewed-By: Andreas Madsen <amwebdk@gmail.com >
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com >
2018-09-02 13:15:41 +02:00
Denys Otrishko
22789fd6d0
child_process: fix handling of incorrect uid/gid in spawn
...
uid/gid must be uint32, which is asserted on a c++ side but wasn't
checked on a JS side and therefore resulted in a process crash.
Refs: https://github.com/nodejs/node/issues/22570
PR-URL: https://github.com/nodejs/node/pull/22574
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Weijia Wang <starkwang@126.com >
Reviewed-By: Luigi Pinca <luigipinca@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
2018-08-31 19:02:26 +02:00
Denys Otrishko
317b894b12
doc: add GitHub email set up link to COLLABORATOR_GUIDE
...
PR-URL: https://github.com/nodejs/node/pull/22525
Reviewed-By: Refael Ackermann <refack@gmail.com >
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
Reviewed-By: George Adams <george.adams@uk.ibm.com >
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com >
2018-08-26 14:40:46 +01:00
Denys Otrishko
902fd40ed5
test: add streams benchmark test
...
Refs: https://github.com/nodejs/node/issues/12068
PR-URL: https://github.com/nodejs/node/pull/22335
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2018-08-24 19:54:34 +02:00
Denys Otrishko
5d703ec874
test: add vm benchmark test
...
Refs: https://github.com/nodejs/node/issues/12068
PR-URL: https://github.com/nodejs/node/pull/22335
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2018-08-24 19:54:34 +02:00
Denys Otrishko
cac4e6dd27
test: add v8 benchmark test
...
Refs: https://github.com/nodejs/node/issues/12068
PR-URL: https://github.com/nodejs/node/pull/22335
Reviewed-By: Rich Trott <rtrott@gmail.com >
Reviewed-By: James M Snell <jasnell@gmail.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2018-08-24 19:54:34 +02:00
Denys Otrishko
a65c633738
doc: add lundibundi to collaborators
...
PR-URL: https://github.com/nodejs/node/pull/22491
Reviewed-By: Anna Henningsen <anna@addaleax.net >
2018-08-24 01:16:10 +03:00
Denys Otrishko
fe47b8b6a5
stream: fix readable behavior for highWaterMark === 0
...
Avoid trying to emit 'readable' due to the fact that
state.length is always >= state.highWaterMark if highWaterMark is 0.
Therefore upon .read(0) call (through .on('readable')) stream assumed
that it has enough data to emit 'readable' even though
state.length === 0 instead of issuing _read(). Which led to the TTY
not recognizing that someone is waiting for the input.
Fixes: https://github.com/nodejs/node/issues/20503
Refs: https://github.com/nodejs/node/pull/18372
PR-URL: https://github.com/nodejs/node/pull/21690
Reviewed-By: Matteo Collina <matteo.collina@gmail.com >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-08-10 17:16:59 +02:00
Denys Otrishko
7c2925e609
worker: exit after uncaught exception
...
Previously even after uncaught exception the worker would continue to
execute until there is no more work to do.
PR-URL: https://github.com/nodejs/node/pull/21739
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-07-14 12:04:54 +02:00
Denys Otrishko
19e10ec2e2
test: refactor process/worker exitCode tests
...
PR-URL: https://github.com/nodejs/node/pull/21739
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-07-14 12:04:53 +02:00
Denys Otrishko
35326f27fd
process: fix process.exitCode handling for fatalException
...
* set process.exitCode before calling 'exit' handlers so that there will
not be a situation where process.exitCode !== code in 'exit' callback
during uncaughtException handling
* don't ignore process.exitCode set in 'exit' callback when failed with
uncaughtException and there is no uncaughtException listener
PR-URL: https://github.com/nodejs/node/pull/21739
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de >
2018-07-14 12:04:53 +02:00
Denys Otrishko
1e9c3f868c
workers: fix invalid exit code in parent upon uncaught exception
...
Now worker.on('exit') reports correct exit code (1) if worker has exited
with uncaught exception.
Fixes: https://github.com/nodejs/node/issues/21707
PR-URL: https://github.com/nodejs/node/pull/21713
Reviewed-By: Gus Caplan <me@gus.host >
Reviewed-By: Yuta Hiroto <hello@hiroppy.me >
Reviewed-By: Weijia Wang <starkwang@126.com >
Reviewed-By: Anna Henningsen <anna@addaleax.net >
Reviewed-By: Colin Ihrig <cjihrig@gmail.com >
2018-07-11 00:16:53 +02:00