Compare commits

...

4 Commits

Author SHA1 Message Date
angt
babe14d544 Quit on tun error 2016-04-25 10:24:42 +00:00
angt
278fc69789 Update mud 2016-04-21 15:35:35 +00:00
angt
99262777fc Update mud 2016-04-17 10:16:13 +00:00
angt
b0f60caab2 Update mud 2016-04-14 20:12:45 +00:00
2 changed files with 16 additions and 6 deletions

2
mud

Submodule mud updated: cd9fb7ce34...04c8495fe6

View File

@@ -358,9 +358,12 @@ int main (int argc, char **argv)
}
struct timeval timeout = {
.tv_usec = 1000,
.tv_usec = 100000,
};
if (mud_can_push(mud))
timeout.tv_usec = 1000;
if _0_(select(mud_fd+1, &rfds, NULL, NULL, &timeout)==-1) {
if (errno==EINTR)
continue;
@@ -384,8 +387,10 @@ int main (int argc, char **argv)
while (1) {
const ssize_t r = tun_read(tun_fd, buf, sizeof(buf));
if (r<=0)
if (r<=0) {
gt.quit |= !r;
break;
}
struct ip_common ic;
@@ -400,12 +405,17 @@ int main (int argc, char **argv)
mud_pull(mud);
while (1) {
const int r = mud_recv(mud, buf, sizeof(buf));
const int size = mud_recv(mud, buf, sizeof(buf));
if (r<=0)
if (size<=0)
break;
tun_write(tun_fd, buf, r);
const ssize_t r = tun_write(tun_fd, buf, size);
if (r<=0) {
gt.quit |= !r;
break;
}
}
}