chiark / gitweb /
logging: Use lg_exitstatus
[secnet.git] / tun.c
diff --git a/tun.c b/tun.c
index ffc195ca5a4f3c777db13b5ebe77de94f2f5d5a9..6ecde61794a3e3ea2821f6ebe185003c6ea07b4c 100644 (file)
--- a/tun.c
+++ b/tun.c
@@ -98,7 +98,7 @@ static int tun_beforepoll(void *sst, struct pollfd *fds, int *nfds_io,
                          int *timeout_io)
 {
     struct tun *st=sst;
-    *nfds_io=1;
+    BEFOREPOLL_WANT_FDS(1);
     fds[0].fd=st->fd;
     fds[0].events=POLLIN;
     return 0;
@@ -241,7 +241,7 @@ static bool_t tun_set_route(void *sst, struct netlink_client *routes)
            break;
        }
     }
-    if (st->route_type==TUN_CONFIG_IOCTL) {
+    if (fd >= 0) {
        close(fd);
     }
     routes->kup=up;
@@ -441,7 +441,7 @@ static void tun_phase_hook(void *sst, uint32_t newphase)
     }
 
     /* Register for poll() */
-    register_for_poll(st, tun_beforepoll, tun_afterpoll, 1, st->nl.name);
+    register_for_poll(st, tun_beforepoll, tun_afterpoll, st->nl.name);
 }
 
 static list_t *tun_create(closure_t *self, struct cloc loc, dict_t *context,