URI: 
       do not call signal-unsafe function inside sighanlder - dwm - dynamic window manager
  HTML git clone https://git.parazyd.org/dwm
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
   DIR commit 6613d9f9a1a5630bab30bc2b70bdc793977073ee
   DIR parent 9bffa845faa181fb3afe05f3dc86ad79c80736be
  HTML Author: NRK <nrk@disroot.org>
       Date:   Thu, 14 Jul 2022 07:26:40 +0600
       
       do not call signal-unsafe function inside sighanlder
       
       die() calls vprintf, fputc and exit; none of these are
       async-signal-safe, see `man 7 signal-safety`.
       
       Diffstat:
         M dwm.c                               |       4 ++--
       
       1 file changed, 2 insertions(+), 2 deletions(-)
       ---
   DIR diff --git a/dwm.c b/dwm.c
       @@ -1541,6 +1541,8 @@ setup(void)
                Atom utf8string;
        
                /* clean up any zombies immediately */
       +        if (signal(SIGCHLD, sigchld) == SIG_ERR)
       +                die("can't install SIGCHLD handler:");
                sigchld(0);
        
                /* init screen */
       @@ -1638,8 +1640,6 @@ showhide(Client *c)
        void
        sigchld(int unused)
        {
       -        if (signal(SIGCHLD, sigchld) == SIG_ERR)
       -                die("can't install SIGCHLD handler:");
                while (0 < waitpid(-1, NULL, WNOHANG));
        }