From d04acc9c0f581fec701d49e753d78b5632852cbf Mon Sep 17 00:00:00 2001 From: angt Date: Wed, 9 Mar 2016 10:59:52 +0000 Subject: [PATCH] Update mud --- mud | 2 +- src/main.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/mud b/mud index 417d4fe..11903da 160000 --- a/mud +++ b/mud @@ -1 +1 @@ -Subproject commit 417d4fe91fc562c53163ffc8fd6dbc27114242d3 +Subproject commit 11903da8620617d2ff74b9e472ba1b54edb88b89 diff --git a/src/main.c b/src/main.c index c1343ce..ab5170f 100644 --- a/src/main.c +++ b/src/main.c @@ -346,7 +346,12 @@ int main (int argc, char **argv) while (!gt.quit) { FD_SET(tun_fd, &rfds); - FD_SET(mud_fd, &rfds); + + if (mud_can_pull(mud)) { + FD_SET(mud_fd, &rfds); + } else { + FD_CLR(mud_fd, &rfds); + } struct timeval timeout = { .tv_usec = 1000, @@ -379,7 +384,7 @@ int main (int argc, char **argv) mud_pull(mud); while (1) { - const ssize_t r = mud_recv(mud, buf, sizeof(buf)); + const int r = mud_recv(mud, buf, sizeof(buf)); if (r<=0) break;