diff options
author | 2023-08-19 22:07:35 -0700 | |
---|---|---|
committer | 2023-08-19 22:07:35 -0700 | |
commit | d432dad666293d5cef02774d72b44f6a74d9d966 (patch) | |
tree | c8d8014093a8cb0c4fbc2de2d1e743b061033dde /src/bun.js/bindings/BunDebugger.cpp | |
parent | eec5bfb23a0fc227842584bd0aa8d9b82c2dded0 (diff) | |
download | bun-d432dad666293d5cef02774d72b44f6a74d9d966.tar.gz bun-d432dad666293d5cef02774d72b44f6a74d9d966.tar.zst bun-d432dad666293d5cef02774d72b44f6a74d9d966.zip |
Introduce `bun --inspect-wait`
This waits for the inspector to connect before beginning execution
Diffstat (limited to 'src/bun.js/bindings/BunDebugger.cpp')
-rw-r--r-- | src/bun.js/bindings/BunDebugger.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/bun.js/bindings/BunDebugger.cpp b/src/bun.js/bindings/BunDebugger.cpp index 0df94b6d1..31cc1c778 100644 --- a/src/bun.js/bindings/BunDebugger.cpp +++ b/src/bun.js/bindings/BunDebugger.cpp @@ -29,6 +29,8 @@ enum class ConnectionStatus : int32_t { Disconnecting = 2, Disconnected = 3, }; +static bool waitingForConnection = false; +extern "C" void Debugger__didConnect(); class BunInspectorConnection : public Inspector::FrontendChannel { @@ -84,6 +86,10 @@ public: inspector.setInspectable(true); inspector.connect(*connection); + if (waitingForConnection) { + waitingForConnection = false; + Debugger__didConnect(); + } Inspector::JSGlobalObjectDebugger* debugger = reinterpret_cast<Inspector::JSGlobalObjectDebugger*>(globalObject->debugger()); if (debugger) { @@ -420,9 +426,7 @@ extern "C" void Bun__ensureDebugger(ScriptExecutionContextIdentifier scriptId, b BunInspectorConnection::runWhilePaused(globalObject, isDoneProcessingEvents); }; } - - if (pauseOnStart) - inspector.pauseWaitingForAutomaticInspection(); + waitingForConnection = true; } JSC_DEFINE_HOST_FUNCTION(jsFunctionCreateConnection, (JSGlobalObject * globalObject, CallFrame* callFrame)) |