Skip to content

Commit

Permalink
src: allow preventing debug signal handler start
Browse files Browse the repository at this point in the history
  • Loading branch information
codebytere committed Feb 16, 2023
1 parent ecd385e commit 1b2bfa0
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 3 deletions.
4 changes: 4 additions & 0 deletions src/env-inl.h
Original file line number Diff line number Diff line change
Expand Up @@ -693,6 +693,10 @@ inline bool Environment::no_global_search_paths() const {
!options_->global_search_paths;
}

inline bool Environment::should_start_debug_signal_handler() const {
return (flags_ & EnvironmentFlags::kNoStartDebugSignalHandler) == 0;
}

inline bool Environment::no_browser_globals() const {
// configure --no-browser-globals
#ifdef NODE_NO_BROWSER_GLOBALS
Expand Down
1 change: 1 addition & 0 deletions src/env.h
Original file line number Diff line number Diff line change
Expand Up @@ -772,6 +772,7 @@ class Environment : public MemoryRetainer {
inline bool tracks_unmanaged_fds() const;
inline bool hide_console_windows() const;
inline bool no_global_search_paths() const;
inline bool should_start_debug_signal_handler() const;
inline bool no_browser_globals() const;
inline uint64_t thread_id() const;
inline worker::Worker* worker_context() const;
Expand Down
6 changes: 4 additions & 2 deletions src/inspector_agent.cc
Original file line number Diff line number Diff line change
Expand Up @@ -696,8 +696,10 @@ bool Agent::Start(const std::string& path,
StartIoThreadAsyncCallback));
uv_unref(reinterpret_cast<uv_handle_t*>(&start_io_thread_async));
start_io_thread_async.data = this;
// Ignore failure, SIGUSR1 won't work, but that should not block node start.
StartDebugSignalHandler();
if (parent_env_->should_start_debug_signal_handler()) {
// Ignore failure, SIGUSR1 won't work, but that should not block node start.
StartDebugSignalHandler();
}

parent_env_->AddCleanupHook([](void* data) {
Environment* env = static_cast<Environment*>(data);
Expand Down
6 changes: 5 additions & 1 deletion src/node.h
Original file line number Diff line number Diff line change
Expand Up @@ -649,7 +649,11 @@ enum Flags : uint64_t {
// This control is needed by embedders who may not want to initialize the V8
// inspector in situations where one has already been created,
// e.g. Blink's in Chromium.
kNoCreateInspector = 1 << 9
kNoCreateInspector = 1 << 9,
// Controls where or not the InspectorAgent for this Environment should
// call StartDebugSignalHandler. This control is needed by embedders who may
// not want to allow other processes to start the V8 inspector.
kNoStartDebugSignalHandler = 1 << 10
};
} // namespace EnvironmentFlags

Expand Down

0 comments on commit 1b2bfa0

Please sign in to comment.