From e7b99e027b2fe2fc0834bf2df9daf6d94b27f02b Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Mon, 27 Apr 2020 03:41:56 +0200 Subject: [PATCH] worker: add stack size resource limit option Add `stackSizeMb` to the `resourceLimit` option group. Refs: https://github.com/nodejs/node/pull/31593#issuecomment-619633820 PR-URL: https://github.com/nodejs/node/pull/33085 Reviewed-By: Gireesh Punathil Reviewed-By: James M Snell Reviewed-By: Colin Ihrig --- doc/api/worker_threads.md | 4 ++ lib/internal/worker.js | 6 ++- src/node_worker.cc | 20 ++++++-- src/node_worker.h | 3 +- test/parallel/test-worker-resource-limits.js | 1 + .../test-worker-stack-overflow-stack-size.js | 47 +++++++++++++------ 6 files changed, 61 insertions(+), 20 deletions(-) diff --git a/doc/api/worker_threads.md b/doc/api/worker_threads.md index 4b6927bf63286d..b3f4aca313bfac 100644 --- a/doc/api/worker_threads.md +++ b/doc/api/worker_threads.md @@ -174,6 +174,7 @@ added: * `maxYoungGenerationSizeMb` {number} * `maxOldGenerationSizeMb` {number} * `codeRangeSizeMb` {number} + * `stackSizeMb` {number} Provides the set of JS engine resource constraints inside this Worker thread. If the `resourceLimits` option was passed to the [`Worker`][] constructor, @@ -584,6 +585,8 @@ changes: recently created objects. * `codeRangeSizeMb` {number} The size of a pre-allocated memory range used for generated code. + * `stackSizeMb` {number} The default maximum stack size for the thread. + Small values may lead to unusable Worker instances. **Default:** `4`. ### Event: `'error'`