summaryrefslogtreecommitdiff
path: root/usr.sbin/bgpd
diff options
context:
space:
mode:
authorOtto Moerbeek <otto@cvs.openbsd.org>2004-09-15 18:30:43 +0000
committerOtto Moerbeek <otto@cvs.openbsd.org>2004-09-15 18:30:43 +0000
commitb9a0bbff7a51a26a31d368595e9754a862ef90ab (patch)
treeac226ff61f4a73e17287d54da0fe8bb516763c37 /usr.sbin/bgpd
parent4125a546725e5c06e39d8b1685becb723f51266d (diff)
if (signalflag) { dowork(); signalflag = 0; } is a race. First clear flag,
then call work(). ok henning@
Diffstat (limited to 'usr.sbin/bgpd')
-rw-r--r--usr.sbin/bgpd/bgpd.c8
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);
}
}