From: Zbigniew Jędrzejewski-Szmek Date: Sat, 14 Mar 2015 02:20:53 +0000 (-0500) Subject: core: don't wait for reply if writing to pipe fails X-Git-Tag: v219.0~335 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=cd972d6911b0e1403e0a11408be732fc3a513f2b;ds=sidebyside core: don't wait for reply if writing to pipe fails This shouldn't really happen, but it's seems cleaner to continue on error. CID #1237552. --- diff --git a/src/core/execute.c b/src/core/execute.c index 39ec5adbb..02df51b5b 100644 --- a/src/core/execute.c +++ b/src/core/execute.c @@ -1159,10 +1159,10 @@ static void do_idle_pipe_dance(int idle_pipe[4]) { if (idle_pipe[3] >= 0 && r == 0 /* timeout */) { /* Signal systemd that we are bored and want to continue. */ - write(idle_pipe[3], "x", 1); - - /* Wait for systemd to react to the signal above. */ - fd_wait_for_event(idle_pipe[0], POLLHUP, IDLE_TIMEOUT2_USEC); + r = write(idle_pipe[3], "x", 1); + if (r > 0) + /* Wait for systemd to react to the signal above. */ + fd_wait_for_event(idle_pipe[0], POLLHUP, IDLE_TIMEOUT2_USEC); } safe_close(idle_pipe[0]);