diff options
author | claudio <claudio@openbsd.org> | 2009-05-31 17:06:01 +0000 |
---|---|---|
committer | claudio <claudio@openbsd.org> | 2009-05-31 17:06:01 +0000 |
commit | bd6053efc6fc7dbaaa2dc9058db99cd665a69871 (patch) | |
tree | b7c5819b31e2ecc0a98b5673aebc133f825533d3 /usr.sbin/ripd/rde.c | |
parent | The wsmouse support code has been written for pcvt long ago, then lifted (diff) | |
download | wireguard-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.c | 22 |
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 (;;) { |