summaryrefslogtreecommitdiff
path: root/usr.sbin/smtpd
diff options
context:
space:
mode:
authorGilles Chehade <gilles@cvs.openbsd.org>2015-10-14 21:27:30 +0000
committerGilles Chehade <gilles@cvs.openbsd.org>2015-10-14 21:27:30 +0000
commit9698d56b19a0c6dc13fc3b28dcb37696f7612ee7 (patch)
tree589c5c1aed0fb1a4cfb65968722f700d8cc06a19 /usr.sbin/smtpd
parente0b8c760ba880b7341be518d10047828fcb43d6e (diff)
imsg_read() may return EAGAIN, handle it in mproc_dispatch()
Diffstat (limited to 'usr.sbin/smtpd')
-rw-r--r--usr.sbin/smtpd/mproc.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.sbin/smtpd/mproc.c b/usr.sbin/smtpd/mproc.c
index 119c7c8f33a..563baf34d6c 100644
--- a/usr.sbin/smtpd/mproc.c
+++ b/usr.sbin/smtpd/mproc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: mproc.c,v 1.14 2015/10/14 21:18:19 gilles Exp $ */
+/* $OpenBSD: mproc.c,v 1.15 2015/10/14 21:27:29 gilles Exp $ */
/*
* Copyright (c) 2012 Eric Faurot <eric@faurot.net>
@@ -160,6 +160,8 @@ mproc_dispatch(int fd, short event, void *arg)
if (n == -1) {
log_warn("warn: %s -> %s: imsg_read",
proc_name(smtpd_process), p->name);
+ if (errno == EAGAIN)
+ return;
fatal("exiting");
}
if (n == 0) {