mirror of
https://github.com/nodejs/node.git
synced 2024-11-30 07:27:22 +01:00
9fbf0c60b5
Instead of sharing the OS-backed store for all `process.env` instances, create a copy of `process.env` for every worker that is created. The copies do not interact. Native-addons do not see modifications to `process.env` from Worker threads, but child processes started from Workers do default to the Worker’s copy of `process.env`. This makes Workers behave like child processes as far as `process.env` is concerned, and an option corresponding to the `child_process` module’s `env` option is added to the constructor. Fixes: https://github.com/nodejs/node/issues/24947 PR-URL: https://github.com/nodejs/node/pull/26544 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
27 lines
385 B
JavaScript
27 lines
385 B
JavaScript
'use strict';
|
|
|
|
const {
|
|
isMainThread,
|
|
SHARE_ENV,
|
|
threadId,
|
|
Worker
|
|
} = require('internal/worker');
|
|
|
|
const {
|
|
MessagePort,
|
|
MessageChannel,
|
|
moveMessagePortToContext,
|
|
} = require('internal/worker/io');
|
|
|
|
module.exports = {
|
|
isMainThread,
|
|
MessagePort,
|
|
MessageChannel,
|
|
moveMessagePortToContext,
|
|
threadId,
|
|
SHARE_ENV,
|
|
Worker,
|
|
parentPort: null,
|
|
workerData: null,
|
|
};
|