summaryrefslogtreecommitdiff
path: root/lib/tls.js
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-06-02 15:09:57 +0200
committerAnna Henningsen <anna@addaleax.net>2019-06-17 08:27:17 -0400
commited24c19002379063ce100037bfff7ca2da5b6cc8 (patch)
treeffecdf23eb3adcfe72a626c129fcc715d477fc20 /lib/tls.js
parent10a346edde47c872de9afbcb79aa43095064078b (diff)
downloadandroid-node-v8-ed24c19002379063ce100037bfff7ca2da5b6cc8.tar.gz
android-node-v8-ed24c19002379063ce100037bfff7ca2da5b6cc8.tar.bz2
android-node-v8-ed24c19002379063ce100037bfff7ca2da5b6cc8.zip
worker: refactor `worker.terminate()`
At the collaborator summit in Berlin, the behaviour of `worker.terminate()` was discussed. In particular, switching from a callback-based to a Promise-based API was suggested. While investigating that possibility later, it was discovered that `.terminate()` was unintentionally synchronous up until now (including calling its callback synchronously). Also, the topic of its stability has been brought up. I have performed two manual reviews of the native codebase for compatibility with `.terminate()`, and performed some manual fuzz testing with the test suite. At this point, bugs with `.terminate()` should, in my opinion, be treated like bugs in other Node.js features. (It is possible to make Node.js crash with `.terminate()` by messing with internals and/or built-in prototype objects, but that is already the case without `.terminate()` as well.) This commit: - Makes `.terminate()` an asynchronous operation. - Makes `.terminate()` return a `Promise`. - Runtime-deprecates passing a callback. - Removes a warning about its stability from the documentation. - Eliminates an unnecessary extra function from the C++ code. A possible alternative to returning a `Promise` would be to keep the method synchronous and just drop the callback. Generally, providing an asynchronous API does provide us with a bit more flexibility. Refs: https://github.com/nodejs/summit/issues/141 PR-URL: https://github.com/nodejs/node/pull/28021 Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'lib/tls.js')
0 files changed, 0 insertions, 0 deletions