diff options
author | Linus Nordberg <linus@nordu.net> | 2016-09-19 10:08:23 +0200 |
---|---|---|
committer | Linus Nordberg <linus@nordu.net> | 2016-09-19 10:12:08 +0200 |
commit | 46e97b761ccf654120e65f394317adbe49720bcf (patch) | |
tree | ec84fb4730b4bd88ad046c45ca914a2fd9be45f4 | |
parent | cc68bc85464a1e6587210e1becf1e8d54b1b6482 (diff) |
Don't wait for _writable_ when _reading_ a TCP socket.
Like 92a0c39a for TCP.
Patch by Fabian Mauchle.
-rw-r--r-- | tcp.c | 5 |
1 files changed, 2 insertions, 3 deletions
@@ -135,7 +135,7 @@ int tcpconnect(struct server *server, struct timeval *when, int timeout, char *t /* returns 0 on timeout, -1 on error and num if ok */ int tcpreadtimeout(int s, unsigned char *buf, int num, int timeout) { int ndesc, cnt, len; - fd_set readfds, writefds; + fd_set readfds; struct timeval timer; if (s < 0) @@ -144,12 +144,11 @@ int tcpreadtimeout(int s, unsigned char *buf, int num, int timeout) { for (len = 0; len < num; len += cnt) { FD_ZERO(&readfds); FD_SET(s, &readfds); - writefds = readfds; if (timeout) { timer.tv_sec = timeout; timer.tv_usec = 0; } - ndesc = select(s + 1, &readfds, &writefds, NULL, timeout ? &timer : NULL); + ndesc = select(s + 1, &readfds, NULL, NULL, timeout ? &timer : NULL); if (ndesc < 1) return ndesc; |