X Tutup
Skip to content

Commit fe0da25

Browse files
authored
fix: call UnregisterIsolate consistently (electron#28486)
1 parent 6331762 commit fe0da25

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

shell/app/node_main.cc

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -279,10 +279,6 @@ int NodeMain(int argc, char* argv[]) {
279279
node::Stop(env);
280280
node::FreeEnvironment(env);
281281
node::FreeIsolateData(isolate_data);
282-
283-
gin_env.platform()->DrainTasks(isolate);
284-
gin_env.platform()->CancelPendingDelayedTasks(isolate);
285-
gin_env.platform()->UnregisterIsolate(isolate);
286282
}
287283

288284
// According to "src/gin/shell/gin_main.cc":

shell/browser/javascript_environment.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,13 +160,19 @@ JavascriptEnvironment::JavascriptEnvironment(uv_loop_t* event_loop)
160160
}
161161

162162
JavascriptEnvironment::~JavascriptEnvironment() {
163+
DCHECK_NE(platform_, nullptr);
164+
platform_->DrainTasks(isolate_);
165+
163166
{
164167
v8::Locker locker(isolate_);
165168
v8::HandleScope scope(isolate_);
166169
context_.Get(isolate_)->Exit();
167170
}
168171
isolate_->Exit();
169172
g_isolate = nullptr;
173+
174+
platform_->CancelPendingDelayedTasks(isolate_);
175+
platform_->UnregisterIsolate(isolate_);
170176
}
171177

172178
class EnabledStateObserverImpl final

0 commit comments

Comments
 (0)
X Tutup