diff options
author | Jacek Masiulaniec <jacekm@cvs.openbsd.org> | 2009-02-16 12:10:26 +0000 |
---|---|---|
committer | Jacek Masiulaniec <jacekm@cvs.openbsd.org> | 2009-02-16 12:10:26 +0000 |
commit | 8e6e68ac3a13d2ff7919488b25d7b01d3b19828b (patch) | |
tree | c92f99355ade96408ba3564f89809f09daa2da56 | |
parent | 20f5aabbf6ebb1e5c80a5bc6b07158984f707749 (diff) |
Process which connects with a pool of cloned processes needs to
keep open all pipes going in their direction; ok pyr@
-rw-r--r-- | usr.sbin/smtpd/config.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/usr.sbin/smtpd/config.c b/usr.sbin/smtpd/config.c index 19b1ba9bbab..1abb0f70dcc 100644 --- a/usr.sbin/smtpd/config.c +++ b/usr.sbin/smtpd/config.c @@ -1,4 +1,4 @@ -/* $OpenBSD: config.c,v 1.4 2009/02/15 10:32:23 jacekm Exp $ */ +/* $OpenBSD: config.c,v 1.5 2009/02/16 12:10:25 jacekm Exp $ */ /* * Copyright (c) 2008 Pierre-Yves Ritschard <pyr@openbsd.org> @@ -172,6 +172,10 @@ config_pipes(struct smtpd *env, struct peer *p, u_int peercount) is_peer(p, j, peercount) && count == env->sc_instance) continue; + if (i == smtpd_process && + is_peer(p, j, peercount) && + env->sc_instances[i] == 1) + continue; close(env->sc_pipes[i][j][count]); env->sc_pipes[i][j][count] = -1; } |