From 230c9fa26a1acc92b4d4c55541f4a790ac80b171 Mon Sep 17 00:00:00 2001 From: angt Date: Sat, 21 Nov 2015 19:09:21 +0100 Subject: [PATCH] Little fix and cleanup --- src/main.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/src/main.c b/src/main.c index 7ca3689..d2ce1bc 100644 --- a/src/main.c +++ b/src/main.c @@ -773,7 +773,7 @@ int main (int argc, char **argv) while (1) { if (gt_close) - stop_loop = 1; + stop_loop |= 1; if (stop_loop) { if (((stop_loop&(1<<2)) || !buffer_read_size(&sock.write)) && @@ -799,6 +799,9 @@ int main (int argc, char **argv) return 1; } + FD_CLR(sock.fd, &wfds); + FD_CLR(tun.fd, &wfds); + #ifdef TCP_INFO struct timeval now; gettimeofday(&now, NULL); @@ -848,9 +851,6 @@ int main (int argc, char **argv) gt_encrypt(&ctx, &sock.write, &tun.read); - if (FD_ISSET(sock.fd, &wfds)) - FD_CLR(sock.fd, &wfds); - if (buffer_read_size(&sock.write)) { ssize_t r = fd_write(sock.fd, sock.write.read, buffer_read_size(&sock.write)); @@ -889,9 +889,6 @@ int main (int argc, char **argv) goto restart; } - if (FD_ISSET(tun.fd, &wfds)) - FD_CLR(tun.fd, &wfds); - while (1) { size_t size = buffer_read_size(&tun.write); ssize_t ip_size = ip_get_size(tun.write.read, size);