summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhenning <henning@openbsd.org>2004-01-04 23:44:17 +0000
committerhenning <henning@openbsd.org>2004-01-04 23:44:17 +0000
commitb733d1238d8129168ae700b50fcf005f46c4ed36 (patch)
tree1a6114f8eb68b4090b5d28b6e226211db8dd4ccf
parentcope with poll error (diff)
downloadwireguard-openbsd-b733d1238d8129168ae700b50fcf005f46c4ed36.tar.xz
wireguard-openbsd-b733d1238d8129168ae700b50fcf005f46c4ed36.zip
when imsg_get has no imsg any more for us, do not set the done flag,
instead, break out of the inner loop so the outer loop gets us a new fix via imsg_read
-rw-r--r--usr.sbin/bgpctl/bgpctl.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/usr.sbin/bgpctl/bgpctl.c b/usr.sbin/bgpctl/bgpctl.c
index 0c774860111..e8416295ec8 100644
--- a/usr.sbin/bgpctl/bgpctl.c
+++ b/usr.sbin/bgpctl/bgpctl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: bgpctl.c,v 1.15 2004/01/04 21:45:05 henning Exp $ */
+/* $OpenBSD: bgpctl.c,v 1.16 2004/01/04 23:44:17 henning Exp $ */
/*
* Copyright (c) 2003 Henning Brauer <henning@openbsd.org>
@@ -145,17 +145,15 @@ again:
while (!done) {
if ((n = imsg_read(&ibuf)) == -1)
- break;
+ errx(1, "imsg_read error");
if (n == 0)
errx(1, "pipe closed");
while (!done) {
if ((n = imsg_get(&ibuf, &imsg)) == -1)
errx(1, "imsg_get error");
- if (n == 0) {
- done = 1;
+ if (n == 0)
break;
- }
switch (action) {
case SHOW:
case SHOW_SUMMARY: