summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2012-09-02 18:46:47 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2012-09-02 18:46:47 +0200
commit2cdd21e598e1b5adbe23dd4387259ba580ce2657 (patch)
tree7d34a2350d0f0eefd5df67c0fe1b67f92ef76346
parentcf897b154ec929335cb377b0556330cc60e72882 (diff)
downloadgnutls-2cdd21e598e1b5adbe23dd4387259ba580ce2657.tar.gz
The default system_recv_timeout() doesn't include a call to recv() to avoid issue in few systems.
-rw-r--r--lib/gnutls_buffers.c3
-rw-r--r--lib/system.c6
2 files changed, 2 insertions, 7 deletions
diff --git a/lib/gnutls_buffers.c b/lib/gnutls_buffers.c
index ff0f82af36..e03af4858b 100644
--- a/lib/gnutls_buffers.c
+++ b/lib/gnutls_buffers.c
@@ -661,10 +661,9 @@ _gnutls_io_check_recv (gnutls_session_t session, unsigned int ms)
reset_errno (session);
ret = session->internals.pull_timeout_func(fd, ms);
-
- err = get_errno (session);
if (ret == -1)
{
+ err = get_errno (session);
_gnutls_read_log ("READ_TIMEOUT: %d returned from %p, errno=%d (timeout: %u)\n",
(int) ret, fd, err, ms);
return errno_to_gerr(err);
diff --git a/lib/system.c b/lib/system.c
index 14bd0854e0..067f189bf1 100644
--- a/lib/system.c
+++ b/lib/system.c
@@ -125,7 +125,7 @@ int system_recv_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
{
fd_set rfds;
struct timeval tv;
-int ret, ret2;
+int ret;
int fd = GNUTLS_POINTER_TO_INT(ptr);
FD_ZERO(&rfds);
@@ -144,10 +144,6 @@ int fd = GNUTLS_POINTER_TO_INT(ptr);
if (ret <= 0)
return ret;
- ret2 = recv(fd, NULL, 0, MSG_PEEK);
- if (ret2 == -1)
- return ret2;
-
return ret;
}