From cc4f823bf4c27fa9efeeeef7cfe7e5fb62117163 Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Sun, 27 Oct 2019 03:11:49 -0400 Subject: Output ring info on SIGINFO --- bounce.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'bounce.c') diff --git a/bounce.c b/bounce.c index 1015625..dcf9eab 100644 --- a/bounce.c +++ b/bounce.c @@ -30,6 +30,10 @@ #include "bounce.h" +#ifndef SIGINFO +#define SIGINFO SIGUSR2 +#endif + static volatile sig_atomic_t signals[NSIG]; static void signalHandler(int signal) { signals[signal] = 1; @@ -159,6 +163,7 @@ int main(int argc, char *argv[]) { signal(SIGINT, signalHandler); signal(SIGTERM, signalHandler); + signal(SIGINFO, signalHandler); signal(SIGUSR1, signalHandler); size_t clients = 0; @@ -167,6 +172,10 @@ int main(int argc, char *argv[]) { if (nfds < 0 && errno != EINTR) err(EX_IOERR, "poll"); if (signals[SIGINT] || signals[SIGTERM]) break; + if (signals[SIGINFO]) { + ringInfo(); + signals[SIGINFO] = 0; + } if (signals[SIGUSR1]) { listenConfig(certPath, privPath); signals[SIGUSR1] = 0; -- cgit 1.4.1