mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
src: lock the isolate properly in IsolateData destructor
Otherwise it may fail the DCHECK that uses the locked thread as a fast path to get the current thread. PR-URL: https://github.com/nodejs/node/pull/57031 Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
This commit is contained in:
1 parent
44b19ec534
commit
619e52ce8d
3 files changed
+5
No files matched your search
@@ -619,6 +619,7 @@ IsolateData::IsolateData(Isolate* isolate,
|
||||
|
||||
IsolateData::~IsolateData() {
|
||||
if (cpp_heap_ != nullptr) {
|
||||
v8::Locker locker(isolate_);
|
||||
// The CppHeap must be detached before being terminated.
|
||||
isolate_->DetachCppHeap();
|
||||
cpp_heap_->Terminate();
|
||||
|
||||
@@ -438,6 +438,7 @@ TEST_F(EnvironmentTest, InspectorMultipleEmbeddedEnvironments) {
|
||||
// This test sets a global variable in the child Environment, and reads it
|
||||
// back both through the inspector and inside the child Environment, and
|
||||
// makes sure that those correspond to the value that was originally set.
|
||||
v8::Locker locker(isolate_);
|
||||
const v8::HandleScope handle_scope(isolate_);
|
||||
const Argv argv;
|
||||
Env env {handle_scope, argv};
|
||||
@@ -507,6 +508,7 @@ TEST_F(EnvironmentTest, InspectorMultipleEmbeddedEnvironments) {
|
||||
CHECK_NOT_NULL(isolate);
|
||||
|
||||
{
|
||||
v8::Locker locker(isolate);
|
||||
v8::Isolate::Scope isolate_scope(isolate);
|
||||
v8::HandleScope handle_scope(isolate);
|
||||
|
||||
@@ -630,6 +632,7 @@ TEST_F(NodeZeroIsolateTestFixture, CtrlCWithOnlySafeTerminationTest) {
|
||||
|
||||
// Try creating Context + IsolateData + Environment.
|
||||
{
|
||||
v8::Locker locker(isolate);
|
||||
v8::Isolate::Scope isolate_scope(isolate);
|
||||
v8::HandleScope handle_scope(isolate);
|
||||
|
||||
|
||||
@@ -76,6 +76,7 @@ TEST_F(NodeZeroIsolateTestFixture, IsolatePlatformDelegateTest) {
|
||||
|
||||
// Try creating Context + IsolateData + Environment
|
||||
{
|
||||
v8::Locker locker(isolate);
|
||||
v8::Isolate::Scope isolate_scope(isolate);
|
||||
v8::HandleScope handle_scope(isolate);
|
||||
|
||||
|
||||
Reference in new issue
Block a user