From 78713006b8c6231f3de60642157fe7156db4107e Mon Sep 17 00:00:00 2001 From: angt Date: Wed, 11 Nov 2015 10:42:03 +0100 Subject: [PATCH] Do not poll forever in fd_*_all() --- src/main.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index 398a7a8..41016aa 100644 --- a/src/main.c +++ b/src/main.c @@ -27,6 +27,7 @@ #endif #define GT_BUFFER_SIZE (4*1024*1024) +#define GT_TIMEOUT (1000) struct netio { int fd; @@ -409,7 +410,8 @@ static ssize_t fd_read_all (int fd, void *data, size_t size) break; if (ret<0) { - poll(&pollfd, 1, -1); + if (!poll(&pollfd, 1, GT_TIMEOUT)) + break; continue; } @@ -435,7 +437,8 @@ static ssize_t fd_write_all (int fd, const void *data, size_t size) break; if (ret<0) { - poll(&pollfd, 1, -1); + if (!poll(&pollfd, 1, GT_TIMEOUT)) + break; continue; }