summaryrefslogtreecommitdiff
path: root/src/env-inl.h
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-02-22 20:11:19 +0100
committerAnna Henningsen <anna@addaleax.net>2019-03-30 22:25:35 +0100
commit9fbf0c60b583dae3d34598352c3c7614118cd035 (patch)
treed615114117264cce1c469f2ff80088dfddf6149b /src/env-inl.h
parent1ee37aac09f263b00029561542cf3bea5db5113b (diff)
downloadandroid-node-v8-9fbf0c60b583dae3d34598352c3c7614118cd035.tar.gz
android-node-v8-9fbf0c60b583dae3d34598352c3c7614118cd035.tar.bz2
android-node-v8-9fbf0c60b583dae3d34598352c3c7614118cd035.zip
worker: use copy of process.env
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>
Diffstat (limited to 'src/env-inl.h')
-rw-r--r--src/env-inl.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/env-inl.h b/src/env-inl.h
index 3eedbb857b..ef13ffdcc0 100644
--- a/src/env-inl.h
+++ b/src/env-inl.h
@@ -447,12 +447,12 @@ inline uint64_t Environment::timer_base() const {
return timer_base_;
}
-inline std::shared_ptr<KVStore> Environment::envvars() {
- return envvars_;
+inline std::shared_ptr<KVStore> Environment::env_vars() {
+ return env_vars_;
}
-inline void Environment::set_envvars(std::shared_ptr<KVStore> envvars) {
- envvars_ = envvars;
+inline void Environment::set_env_vars(std::shared_ptr<KVStore> env_vars) {
+ env_vars_ = env_vars;
}
inline bool Environment::printed_error() const {