diff options
author | Gilles Chehade <gilles@cvs.openbsd.org> | 2015-10-14 21:27:30 +0000 |
---|---|---|
committer | Gilles Chehade <gilles@cvs.openbsd.org> | 2015-10-14 21:27:30 +0000 |
commit | 9698d56b19a0c6dc13fc3b28dcb37696f7612ee7 (patch) | |
tree | 589c5c1aed0fb1a4cfb65968722f700d8cc06a19 /usr.sbin/smtpd | |
parent | e0b8c760ba880b7341be518d10047828fcb43d6e (diff) |
imsg_read() may return EAGAIN, handle it in mproc_dispatch()
Diffstat (limited to 'usr.sbin/smtpd')
-rw-r--r-- | usr.sbin/smtpd/mproc.c | 4 |
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) { |