summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/system.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/system.c b/lib/system.c
index a096cea242..731d734db4 100644
--- a/lib/system.c
+++ b/lib/system.c
@@ -179,7 +179,9 @@ int gnutls_system_recv_timeout(gnutls_transport_ptr_t ptr, unsigned int ms)
timeo = -1;
else
timeo = ms;
- ret = poll(&pfd, 1, timeo);
+ do {
+ ret = poll(&pfd, 1, timeo);
+ } while(ret == -1 && errno == EINTR);
#else
fd_set rfds;
struct timeval _tv, *tv = NULL;