From 38b5a85d8ae030acdead6d169735317a66d23d94 Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Sat, 19 Nov 2022 01:25:15 -0800 Subject: Fix a GC issue with `Bun.spawn` The `Subprocess` object stays alive until the process exits, even if it's never referenced --- src/bun.js/bindings/ZigGeneratedClasses.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/bun.js/bindings/ZigGeneratedClasses.cpp') diff --git a/src/bun.js/bindings/ZigGeneratedClasses.cpp b/src/bun.js/bindings/ZigGeneratedClasses.cpp index 40ced4888..5618245cf 100644 --- a/src/bun.js/bindings/ZigGeneratedClasses.cpp +++ b/src/bun.js/bindings/ZigGeneratedClasses.cpp @@ -3,14 +3,15 @@ // Generated by make codegen #include "root.h" +#include "BunClientData.h" +#include "ZigGlobalObject.h" + #include #include #include #include #include -#include "ZigGlobalObject.h" - #include #include "DOMJITIDLConvert.h" #include "DOMJITIDLType.h" @@ -2033,6 +2034,12 @@ extern "C" EncodedJSValue Subprocess__getConstructor(Zig::GlobalObject* globalOb return JSValue::encode(globalObject->JSSubprocessConstructor()); } +extern "C" bool Subprocess__hasPendingActivity(void* ptr); +bool JSSubprocess::internalHasPendingActivity() +{ + return Subprocess__hasPendingActivity(m_ctx); +} + JSSubprocess::~JSSubprocess() { if (m_ctx) { -- cgit v1.2.3