diff options
author | 2004-01-04 23:44:17 +0000 | |
---|---|---|
committer | 2004-01-04 23:44:17 +0000 | |
commit | b733d1238d8129168ae700b50fcf005f46c4ed36 (patch) | |
tree | 1a6114f8eb68b4090b5d28b6e226211db8dd4ccf | |
parent | cope with poll error (diff) | |
download | wireguard-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.c | 8 |
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: |