30 lines
1.1 KiB
Diff
30 lines
1.1 KiB
Diff
|
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||
|
From: Shelley Vohr <shelley.vohr@gmail.com>
|
||
|
Date: Thu, 3 Oct 2019 19:03:30 +0200
|
||
|
Subject: fix: enable worker_threads
|
||
|
|
||
|
Electron sets NODE_USE_V8_PLATFORM to false, because Electron
|
||
|
initializes the v8 platform itself and Node.js worker thread
|
||
|
initialization relies on the platform it uses having been set inside
|
||
|
code guarded by NODE_USE_V8_PLATFORM.
|
||
|
|
||
|
This commit fixes this problem by changing node_worker to use the three-arg
|
||
|
implementation of `NewIsolate` to prevent it trying to use a possibly-null ptr.
|
||
|
|
||
|
diff --git a/src/node_worker.cc b/src/node_worker.cc
|
||
|
index 11e44a92757e41e737087c5d08ce9931f0b0fab3..3dce5e25980ce2c6f17cda02dab9c0f8b4fab813 100644
|
||
|
--- a/src/node_worker.cc
|
||
|
+++ b/src/node_worker.cc
|
||
|
@@ -116,7 +116,10 @@ class WorkerThreadData {
|
||
|
: w_(w) {
|
||
|
CHECK_EQ(uv_loop_init(&loop_), 0);
|
||
|
|
||
|
- Isolate* isolate = NewIsolate(w->array_buffer_allocator_.get(), &loop_);
|
||
|
+ Isolate* isolate = NewIsolate(
|
||
|
+ w->array_buffer_allocator_.get(),
|
||
|
+ &loop_,
|
||
|
+ w->platform_);
|
||
|
CHECK_NOT_NULL(isolate);
|
||
|
|
||
|
{
|