From 03ab4be9eef05918828f9ea04e0e55e4ffef8fcb Mon Sep 17 00:00:00 2001 From: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Date: Thu, 19 Jan 2023 23:56:49 -0800 Subject: ignore sighup --- src/crash_reporter.zig | 55 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 45 insertions(+), 10 deletions(-) (limited to 'src') 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, + ); + } } -- cgit v1.2.3