summaryrefslogtreecommitdiff
path: root/src/env.cc
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2017-11-21 12:38:27 +0100
committerAnna Henningsen <anna@addaleax.net>2017-11-27 02:00:39 +0100
commit7306a337f6d32cedfbd002484e0b0e8a47f5ad09 (patch)
tree7f9a5fa7d37011051bc7f7ec31c29a4ebeb0b031 /src/env.cc
parentbb4462681cd2812d718897ca7ac8b8d48bca68f0 (diff)
downloadandroid-node-v8-7306a337f6d32cedfbd002484e0b0e8a47f5ad09.tar.gz
android-node-v8-7306a337f6d32cedfbd002484e0b0e8a47f5ad09.tar.bz2
android-node-v8-7306a337f6d32cedfbd002484e0b0e8a47f5ad09.zip
src: add optional keep-alive object to SetImmediate
Adds the possibility to keep a strong persistent reference to a JS object while a `SetImmediate()` call is in effect. PR-URL: https://github.com/nodejs/node/pull/17183 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Diffstat (limited to 'src/env.cc')
-rw-r--r--src/env.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/env.cc b/src/env.cc
index 82bdb4f900..d9650fadd0 100644
--- a/src/env.cc
+++ b/src/env.cc
@@ -278,6 +278,8 @@ void Environment::RunAndClearNativeImmediates() {
native_immediate_callbacks_.swap(list);
for (const auto& cb : list) {
cb.cb_(this, cb.data_);
+ if (cb.keep_alive_)
+ cb.keep_alive_->Reset();
}
#ifdef DEBUG