Introduction
Introduction Statistics Contact Development Disclaimer Help
fix race condition between sigwinch and sigchld - scroll - scrollbackbuffer pro…
git clone git://git.suckless.org/scroll
Log
Files
Refs
README
LICENSE
---
commit 1dbf2dce08892df710645ddbd2ce12759ec95078
parent 58c58743d8f391ef0e4776fc46d92c824795d162
Author: Jan Klemkow <[email protected]>
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(-)
---
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;
}
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.