aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-01-19 23:56:49 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2023-01-19 23:56:49 -0800
commit03ab4be9eef05918828f9ea04e0e55e4ffef8fcb (patch)
treeed42a006a9eabbb1a811e213d8840e6539e0fb27
parentf993975ae6e94e367f30f66ddba9c69a693f8aa4 (diff)
downloadbun-03ab4be9eef05918828f9ea04e0e55e4ffef8fcb.tar.gz
bun-03ab4be9eef05918828f9ea04e0e55e4ffef8fcb.tar.zst
bun-03ab4be9eef05918828f9ea04e0e55e4ffef8fcb.zip
ignore sighup
-rw-r--r--src/crash_reporter.zig55
1 files changed, 45 insertions, 10 deletions
diff --git a/src/crash_reporter.zig b/src/crash_reporter.zig
index d98326530..14fc74e24 100644
--- a/src/crash_reporter.zig
+++ b/src/crash_reporter.zig
@@ -32,6 +32,11 @@ noinline fn sigpipe_handler(_: i32, _: *const std.os.siginfo_t, _: ?*const anyop
bun.Output.debug("SIGPIPE received\n", .{});
}
+noinline fn sighup_handler(_: i32, _: *const std.os.siginfo_t, _: ?*const anyopaque) callconv(.C) void {
+ const bun = @import("bun");
+ bun.Output.debug("SIGHUP received\n", .{});
+}
+
pub fn reloadHandlers() !void {
try os.sigaction(os.SIG.PIPE, null, null);
try setup_sigactions(null);
@@ -44,17 +49,33 @@ pub fn reloadHandlers() !void {
try setup_sigactions(&act);
- var pipe = os.Sigaction{
- .handler = .{ .sigaction = sigpipe_handler },
- .mask = os.empty_sigset,
- .flags = (os.SA.SIGINFO | os.SA.RESTART | os.SA.RESETHAND),
- };
+ {
+ var pipe = os.Sigaction{
+ .handler = .{ .sigaction = sigpipe_handler },
+ .mask = os.empty_sigset,
+ .flags = (os.SA.SIGINFO | os.SA.RESTART | os.SA.RESETHAND),
+ };
+
+ try os.sigaction(
+ os.SIG.PIPE,
+ &pipe,
+ null,
+ );
+ }
+
+ {
+ var pipe = os.Sigaction{
+ .handler = .{ .sigaction = sighup_handler },
+ .mask = os.empty_sigset,
+ .flags = (os.SA.SIGINFO | os.SA.RESTART | os.SA.RESETHAND),
+ };
- try os.sigaction(
- os.SIG.PIPE,
- &pipe,
- null,
- );
+ try os.sigaction(
+ os.SIG.HUP,
+ &pipe,
+ null,
+ );
+ }
}
const os = std.os;
pub fn start() !void {
@@ -78,4 +99,18 @@ pub fn start() !void {
null,
);
}
+
+ {
+ var pipe = os.Sigaction{
+ .handler = .{ .sigaction = sighup_handler },
+ .mask = os.empty_sigset,
+ .flags = (os.SA.SIGINFO | os.SA.RESTART | os.SA.RESETHAND),
+ };
+
+ try os.sigaction(
+ os.SIG.HUP,
+ &pipe,
+ null,
+ );
+ }
}