diff options
author | 2004-09-15 18:30:42 +0000 | |
---|---|---|
committer | 2004-09-15 18:30:42 +0000 | |
commit | 1d25bdedc71358c375200c8fd036cd5a9bffe6cb (patch) | |
tree | 3f31cd364bd7669d052981813b79487768ea3f8b | |
parent | minor KNF, Moritz Jodeit <moritz@jodeit.org> (diff) | |
download | wireguard-openbsd-1d25bdedc71358c375200c8fd036cd5a9bffe6cb.tar.xz wireguard-openbsd-1d25bdedc71358c375200c8fd036cd5a9bffe6cb.zip |
if (signalflag) { dowork(); signalflag = 0; } is a race. First clear flag,
then call work(). ok henning@
-rw-r--r-- | usr.sbin/bgpd/bgpd.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.sbin/bgpd/bgpd.c b/usr.sbin/bgpd/bgpd.c index f4c0fd4653b..ae903e6c1fd 100644 --- a/usr.sbin/bgpd/bgpd.c +++ b/usr.sbin/bgpd/bgpd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: bgpd.c,v 1.105 2004/08/24 11:43:16 henning Exp $ */ +/* $OpenBSD: bgpd.c,v 1.106 2004/09/15 18:30:42 otto Exp $ */ /* * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org> @@ -290,22 +290,22 @@ main(int argc, char *argv[]) } if (reconfig) { + reconfig = 0; log_info("rereading config"); reconfigure(conffile, &conf, &mrt_l, &peer_l, rules_l); - reconfig = 0; } if (sigchld) { + sigchld = 0; if (check_child(io_pid, "session engine")) quit = 1; if (check_child(rde_pid, "route decision engine")) quit = 1; - sigchld = 0; } if (mrtdump == 1) { - mrt_handler(&mrt_l); mrtdump = 0; + mrt_handler(&mrt_l); } } |