summaryrefslogtreecommitdiff
path: root/src/src/queue.c
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2019-12-17 20:35:28 +0000
committerJeremy Harris <jgh146exb@wizmail.org>2019-12-18 00:07:22 +0000
commit2791749f220602482c2cce772e6520c54218c0dd (patch)
tree63f24cfce6199d0ced7bfe06f1456a797c3b1760 /src/src/queue.c
parentf8f40a64d41c4d47b974810320ab257e2eac0cf3 (diff)
downloadexim4-2791749f220602482c2cce772e6520c54218c0dd.tar.gz
GNU/Hurd: retry EINTR returns from pipe I/O
Replaces: a76f64c3d4
Diffstat (limited to 'src/src/queue.c')
-rw-r--r--src/src/queue.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/src/queue.c b/src/src/queue.c
index a57801426..061743323 100644
--- a/src/src/queue.c
+++ b/src/src/queue.c
@@ -653,9 +653,10 @@ for (int i = queue_run_in_order ? -1 : 0;
the mere fact that read() unblocks is enough. */
set_process_info("running queue: waiting for children of %d", pid);
- if ((status = read(pfd[pipe_read], buffer, sizeof(buffer))) != 0)
- log_write(0, LOG_MAIN|LOG_PANIC, status > 0 ?
- "queue run: unexpected data on pipe" : "queue run: error on pipe: %s",
+ if ((status = os_pipe_read(pfd[pipe_read], buffer, sizeof(buffer))) != 0)
+ log_write(0, LOG_MAIN|LOG_PANIC, status > 0
+ ? "queue run: unexpected data on pipe"
+ : "queue run: error on pipe read: %s",
strerror(errno));
(void)close(pfd[pipe_read]);
set_process_info("running queue");