aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/bindings/spawn.cpp
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-08-30 00:16:08 -0700
committerGravatar GitHub <noreply@github.com> 2023-08-30 00:16:08 -0700
commite3dc5b6b4ce2c10d1e9c61fec2e86409e4ce48b0 (patch)
treeacf51076ff9001863beb91555a595917f0dbdf18 /src/bun.js/bindings/spawn.cpp
parentf2553d24543d72a777ba60213473332809866cb2 (diff)
downloadbun-e3dc5b6b4ce2c10d1e9c61fec2e86409e4ce48b0.tar.gz
bun-e3dc5b6b4ce2c10d1e9c61fec2e86409e4ce48b0.tar.zst
bun-e3dc5b6b4ce2c10d1e9c61fec2e86409e4ce48b0.zip
reset signal handlers in Bun.spawn (#4405)
* see if this fixes it * We don't need this * Remove extra flag --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bun.js/bindings/spawn.cpp')
-rw-r--r--src/bun.js/bindings/spawn.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/bun.js/bindings/spawn.cpp b/src/bun.js/bindings/spawn.cpp
new file mode 100644
index 000000000..531941f8a
--- /dev/null
+++ b/src/bun.js/bindings/spawn.cpp
@@ -0,0 +1,18 @@
+#include <spawn.h>
+#include <signal.h>
+
+extern "C" int posix_spawnattr_reset_signals(posix_spawnattr_t* attr)
+{
+ sigset_t signal_set;
+ sigfillset(&signal_set);
+ if (posix_spawnattr_setsigdefault(attr, &signal_set) != 0) {
+ return 1;
+ }
+
+ sigemptyset(&signal_set);
+ if (posix_spawnattr_setsigmask(attr, &signal_set) != 0) {
+ return 1;
+ }
+
+ return 0;
+}