Skip to content
Permalink
Browse files

src: use unique_ptr for InitializeInspector()

This makes more sense than releasing and re-wrapping the raw pointer.

PR-URL: #30229
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
  • Loading branch information
addaleax authored and MylesBorins committed Nov 2, 2019
1 parent fc9e708 commit da8ceb965d1a9ce7a9f6a77143f3db25f7ec3e9f
Showing with 11 additions and 7 deletions.
  1. +2 −1 src/env.h
  2. +3 −4 src/node.cc
  3. +5 −1 src/node_main_instance.cc
  4. +1 −1 src/node_worker.cc
@@ -872,7 +872,8 @@ class Environment : public MemoryRetainer {
#if HAVE_INSPECTOR
// If the environment is created for a worker, pass parent_handle and
// the ownership if transferred into the Environment.
int InitializeInspector(inspector::ParentInspectorHandle* parent_handle);
int InitializeInspector(
std::unique_ptr<inspector::ParentInspectorHandle> parent_handle);
#endif

v8::MaybeLocal<v8::Value> BootstrapInternalLoaders();
@@ -196,13 +196,12 @@ MaybeLocal<Value> ExecuteBootstrapper(Environment* env,

#if HAVE_INSPECTOR
int Environment::InitializeInspector(
inspector::ParentInspectorHandle* parent_handle) {
std::unique_ptr<inspector::ParentInspectorHandle> parent_handle) {
std::string inspector_path;
if (parent_handle != nullptr) {
if (parent_handle) {
DCHECK(!is_main_thread());
inspector_path = parent_handle->url();
inspector_agent_->SetParentHandle(
std::unique_ptr<inspector::ParentInspectorHandle>(parent_handle));
inspector_agent_->SetParentHandle(std::move(parent_handle));
} else {
inspector_path = argv_.size() > 1 ? argv_[1].c_str() : "";
}
@@ -7,6 +7,10 @@
#include <sanitizer/lsan_interface.h>
#endif

#if HAVE_INSPECTOR
#include "inspector/worker_inspector.h" // ParentInspectorHandle
#endif

namespace node {

using v8::Context;
@@ -217,7 +221,7 @@ std::unique_ptr<Environment> NodeMainInstance::CreateMainEnvironment(
// TODO(joyeecheung): when we snapshot the bootstrapped context,
// the inspector and diagnostics setup should after after deserialization.
#if HAVE_INSPECTOR
*exit_code = env->InitializeInspector(nullptr);
*exit_code = env->InitializeInspector({});
#endif
if (*exit_code != 0) {
return env;
@@ -251,7 +251,7 @@ void Worker::Run() {
{
env_->InitializeDiagnostics();
#if HAVE_INSPECTOR
env_->InitializeInspector(inspector_parent_handle_.release());
env_->InitializeInspector(std::move(inspector_parent_handle_));
#endif
HandleScope handle_scope(isolate_);
AsyncCallbackScope callback_scope(env_.get());

0 comments on commit da8ceb9

Please sign in to comment.
You can’t perform that action at this time.