diff options
-rw-r--r-- | src/core/execute.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/execute.c b/src/core/execute.c index 39ec5adbbe..02df51b5bb 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]); |