diff options
author | Camiel Dobbelaar <camield@cvs.openbsd.org> | 2012-01-21 13:40:49 +0000 |
---|---|---|
committer | Camiel Dobbelaar <camield@cvs.openbsd.org> | 2012-01-21 13:40:49 +0000 |
commit | 6471362a8c2f45e3e09131e312eb9421304d92e0 (patch) | |
tree | e29ba9d5e6f8732e135a32c001ee38624f794e4b /usr.sbin/relayd/parse.y | |
parent | 1df0d8faf0045e8f11d397af7c66860577ac377c (diff) |
Only start the child processes after all of them reported to have loaded
the config. Solves a race at startup time where processes can send status
messages about hosts that other processes don't know about yet.
(and have relayd abort with "desynchronized" or "invalid host id")
ok henning pyr deraadt
solves the problem ok from benno todd
Diffstat (limited to 'usr.sbin/relayd/parse.y')
-rw-r--r-- | usr.sbin/relayd/parse.y | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/usr.sbin/relayd/parse.y b/usr.sbin/relayd/parse.y index 37fa0da61e1..a6427c58b3f 100644 --- a/usr.sbin/relayd/parse.y +++ b/usr.sbin/relayd/parse.y @@ -1,4 +1,4 @@ -/* $OpenBSD: parse.y,v 1.160 2012/01/20 12:16:41 camield Exp $ */ +/* $OpenBSD: parse.y,v 1.161 2012/01/21 13:40:48 camield Exp $ */ /* * Copyright (c) 2007-2011 Reyk Floeter <reyk@openbsd.org> @@ -2262,9 +2262,6 @@ load_config(const char *filename, struct relayd *x_conf) errors++; } - if (TAILQ_EMPTY(conf->sc_relays)) - conf->sc_prefork_relay = 0; - /* Cleanup relay list to inherit */ while ((rlay = TAILQ_FIRST(&relays)) != NULL) { TAILQ_REMOVE(&relays, rlay, rl_entry); |