From: Ian Jackson Date: Sun, 6 Dec 2015 01:45:00 +0000 (+0000) Subject: In signal handler, crash if write() fails in an unexpected way X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=innduct.git;a=commitdiff_plain;h=61c8ce5bb3f245c365ca7381497b43fd40a987b4 In signal handler, crash if write() fails in an unexpected way --- diff --git a/statemc.c b/statemc.c index cb5139d..b068722 100644 --- a/statemc.c +++ b/statemc.c @@ -546,7 +546,8 @@ static void sigarrived_handler(int signum) { default: abort(); } - write(signal_self_pipe[1],&x,1); + int r = write(signal_self_pipe[1],&x,1); + if (!(r==1 || isewouldblock(errno))) abort(); errno = esave; }