summaryrefslogtreecommitdiff
path: root/src/node_platform.cc
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-02-24 22:05:44 +0100
committerAnna Henningsen <anna@addaleax.net>2019-03-05 22:40:04 +0100
commit820ae61c12b12ceca23d96a30e1bbe8e601bc735 (patch)
treeb6ce607bfea1261838b4d602babb06d08949a335 /src/node_platform.cc
parent753ebd742fc5da81c201dfc59fdc42cd80312ec3 (diff)
downloadandroid-node-v8-820ae61c12b12ceca23d96a30e1bbe8e601bc735.tar.gz
android-node-v8-820ae61c12b12ceca23d96a30e1bbe8e601bc735.tar.bz2
android-node-v8-820ae61c12b12ceca23d96a30e1bbe8e601bc735.zip
src: forbid handle allocations from Platform tasks
Platform tasks should have their own handle scopes, rather than leak into outer ones. PR-URL: https://github.com/nodejs/node/pull/26376 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/node_platform.cc')
-rw-r--r--src/node_platform.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/node_platform.cc b/src/node_platform.cc
index 9b1c4b4ca9..115b59e356 100644
--- a/src/node_platform.cc
+++ b/src/node_platform.cc
@@ -8,11 +8,11 @@
namespace node {
-using v8::HandleScope;
using v8::Isolate;
using v8::Local;
using v8::Object;
using v8::Platform;
+using v8::SealHandleScope;
using v8::Task;
using node::tracing::TracingController;
@@ -332,7 +332,9 @@ int NodePlatform::NumberOfWorkerThreads() {
void PerIsolatePlatformData::RunForegroundTask(std::unique_ptr<Task> task) {
Isolate* isolate = Isolate::GetCurrent();
- HandleScope scope(isolate);
+#ifdef DEBUG
+ SealHandleScope scope(isolate);
+#endif
Environment* env = Environment::GetCurrent(isolate);
if (env != nullptr) {
InternalCallbackScope cb_scope(env, Local<Object>(), { 0, 0 },