aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/ScriptExecutionContext.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-07-28 01:33:00 -0700
committerGravatar GitHub <noreply@github.com> 2023-07-28 01:33:00 -0700
commite110ccf84d8d9034e82a79bf7abf1fa92b2370be (patch)
treea4be8d322c2c61b767abce74ad670eeb65620b2e /src/bun.js/bindings/ScriptExecutionContext.cpp
parentc2a744f0cc1af080b2803e8b3b678bdaa4a1d14f (diff)
downloadbun-e110ccf84d8d9034e82a79bf7abf1fa92b2370be.tar.gz
bun-e110ccf84d8d9034e82a79bf7abf1fa92b2370be.tar.zst
bun-e110ccf84d8d9034e82a79bf7abf1fa92b2370be.zip
Fixes #3795 (#3856)
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bun.js/bindings/ScriptExecutionContext.cpp')
-rw-r--r--src/bun.js/bindings/ScriptExecutionContext.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/bun.js/bindings/ScriptExecutionContext.cpp b/src/bun.js/bindings/ScriptExecutionContext.cpp
index d93478ed8..47908b385 100644
--- a/src/bun.js/bindings/ScriptExecutionContext.cpp
+++ b/src/bun.js/bindings/ScriptExecutionContext.cpp
@@ -5,6 +5,7 @@
#include "webcore/WebSocket.h"
#include "libusockets.h"
#include "_libusockets.h"
+#include "BunClientData.h"
extern "C" void Bun__startLoop(us_loop_t* loop);
@@ -58,6 +59,16 @@ us_socket_context_t* ScriptExecutionContext::webSocketContextSSL()
return m_ssl_client_websockets_ctx;
}
+extern "C" void Bun__eventLoop__incrementRefConcurrently(void* bunVM, int delta);
+
+void ScriptExecutionContext::refEventLoop()
+{
+ Bun__eventLoop__incrementRefConcurrently(WebCore::clientData(vm())->bunVM, 1);
+}
+void ScriptExecutionContext::unrefEventLoop()
+{
+ Bun__eventLoop__incrementRefConcurrently(WebCore::clientData(vm())->bunVM, -1);
+}
bool ScriptExecutionContext::postTaskTo(ScriptExecutionContextIdentifier identifier, Function<void(ScriptExecutionContext&)>&& task)
{