From b6cedf7dba67907200444aa7d54dea2065c7c210 Mon Sep 17 00:00:00 2001 From: Klemens Nanni Date: Sun, 20 Jun 2021 18:50:40 +0000 Subject: [PATCH] Register SIGWINCH handler before TLS connect Otherwise resizing the terminal will end catgirl until a handler is registered, e.g. while in ircConnect(): catgirl: tls_handshake: (null) Hoist registration right after uiInitEarly() as earliest possible point in main() since initscr(3) sets up various signals incl. SIGWINCH, i.e. initialise `cursesWinch' afterwards to pick up curses(3)'s handler. --- chat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/chat.c b/chat.c index 479ec94..790038c 100644 --- a/chat.c +++ b/chat.c @@ -270,6 +270,7 @@ int main(int argc, char *argv[]) { ircConfig(insecure, trust, cert, priv); uiInitEarly(); + sig_t cursesWinch = signal(SIGWINCH, signalHandler); if (save) { uiLoad(save); atexit(exitSave); @@ -324,7 +325,6 @@ int main(int argc, char *argv[]) { signal(SIGALRM, signalHandler); signal(SIGTERM, signalHandler); signal(SIGCHLD, signalHandler); - sig_t cursesWinch = signal(SIGWINCH, signalHandler); fcntl(irc, F_SETFD, FD_CLOEXEC); bool pipes = !self.kiosk && !self.restricted;