summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ripd/rde.c
diff options
context:
space:
mode:
authorclaudio <claudio@openbsd.org>2009-05-31 17:06:01 +0000
committerclaudio <claudio@openbsd.org>2009-05-31 17:06:01 +0000
commitbd6053efc6fc7dbaaa2dc9058db99cd665a69871 (patch)
treeb7c5819b31e2ecc0a98b5673aebc133f825533d3 /usr.sbin/ripd/rde.c
parentThe wsmouse support code has been written for pcvt long ago, then lifted (diff)
downloadwireguard-openbsd-bd6053efc6fc7dbaaa2dc9058db99cd665a69871.tar.xz
wireguard-openbsd-bd6053efc6fc7dbaaa2dc9058db99cd665a69871.zip
Better EV_READ and EV_WRITE handling in the libevent callbacks. Again mostly
the same ospfd diff applied with some fuzz.
Diffstat (limited to 'usr.sbin/ripd/rde.c')
-rw-r--r--usr.sbin/ripd/rde.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/usr.sbin/ripd/rde.c b/usr.sbin/ripd/rde.c
index a2614496c9d..6322dac1a4b 100644
--- a/usr.sbin/ripd/rde.c
+++ b/usr.sbin/ripd/rde.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: rde.c,v 1.9 2007/10/24 20:38:03 claudio Exp $ */
+/* $OpenBSD: rde.c,v 1.10 2009/05/31 17:06:01 claudio Exp $ */
/*
* Copyright (c) 2006 Michele Marchetto <mydecay@openbeer.it>
@@ -187,20 +187,16 @@ rde_dispatch_imsg(int fd, short event, void *bula)
ssize_t n;
int shut = 0;
- switch (event) {
- case EV_READ:
+ if (event & EV_READ) {
if ((n = imsg_read(ibuf)) == -1)
fatal("imsg_read error");
if (n == 0) /* connection closed */
shut = 1;
- break;
- case EV_WRITE:
+ }
+ if (event & EV_WRITE) {
if (msgbuf_write(&ibuf->w) == -1)
fatal("msgbuf_write");
imsg_event_add(ibuf);
- return;
- default:
- fatalx("unknown event");
}
for (;;) {
@@ -286,20 +282,16 @@ rde_dispatch_parent(int fd, short event, void *bula)
ssize_t n;
int shut = 0;
- switch (event) {
- case EV_READ:
+ if (event & EV_READ) {
if ((n = imsg_read(ibuf)) == -1)
fatal("imsg_read error");
if (n == 0) /* connection closed */
shut = 1;
- break;
- case EV_WRITE:
+ }
+ if (event & EV_WRITE) {
if (msgbuf_write(&ibuf->w) == -1)
fatal("msgbuf_write");
imsg_event_add(ibuf);
- return;
- default:
- fatalx("unknown event");
}
for (;;) {