While softreconfig is running set the poll timeout to 0 so that the
authorclaudio <claudio@openbsd.org>
Thu, 9 Aug 2018 12:54:06 +0000 (12:54 +0000)
committerclaudio <claudio@openbsd.org>
Thu, 9 Aug 2018 12:54:06 +0000 (12:54 +0000)
runner makes progress and does not get hold back by poll sleeping at
the same time fds are still serviced first if they have data pending.

usr.sbin/bgpd/rde.c

index 8ee91c2..5d8053c 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: rde.c,v 1.413 2018/08/08 13:08:54 claudio Exp $ */
+/*     $OpenBSD: rde.c,v 1.414 2018/08/09 12:54:06 claudio Exp $ */
 
 /*
  * Copyright (c) 2003, 2004 Henning Brauer <henning@openbsd.org>
@@ -268,6 +268,8 @@ rde_main(int debug, int verbose)
                if (rde_dump_pending() &&
                    ibuf_se_ctl && ibuf_se_ctl->w.queued == 0)
                        timeout = 0;
+               if (softreconfig)
+                       timeout = 0;
 
                i = PFD_PIPE_COUNT;
                for (mctx = LIST_FIRST(&rde_mrts); mctx != 0; mctx = xmctx) {