fix race condition between sigwinch and sigchld - scroll - scrollbackbuffer program for st
 (HTM) git clone git://git.suckless.org/scroll
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 1dbf2dce08892df710645ddbd2ce12759ec95078
 (DIR) parent 58c58743d8f391ef0e4776fc46d92c824795d162
 (HTM) Author: Jan Klemkow <j.klemkow@wemelug.de>
       Date:   Thu, 30 Apr 2020 22:12:50 +0200
       
       fix race condition between sigwinch and sigchld
       
       sigwinch died if it tries to set the window size
       to a file descriptor of an exited child.  Thus,
       we just ignore this error in that situation.
       
       Diffstat:
         M scroll.c                            |       5 ++++-
       
       1 file changed, 4 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/scroll.c b/scroll.c
       @@ -96,8 +96,11 @@ sigwinch(int sig)
        
                if (ioctl(STDOUT_FILENO, TIOCGWINSZ, &ws) == -1)
                        die("ioctl:");
       -        if (ioctl(mfd, TIOCSWINSZ, &ws) == -1)
       +        if (ioctl(mfd, TIOCSWINSZ, &ws) == -1) {
       +                if (errno == EBADF)        /* child already exited */
       +                        return;
                        die("ioctl:");
       +        }
                kill(-child, SIGWINCH);
                doredraw = true;
        }