summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSébastien Helleu <flashcode@flashtux.org>2016-02-07 11:07:47 +0100
committerSébastien Helleu <flashcode@flashtux.org>2016-02-07 11:07:47 +0100
commit239cf632cdaf698c0e379584bd9808bf80c36b4d (patch)
tree84523c79b0a493059f09d1d8f9c3a88c66d39453 /src
parentbd2e43146eeb100207896230867afb2f45ef8b3d (diff)
parentb12412ed17a9461c29f274a8448236ee057d3122 (diff)
downloadweechat-239cf632cdaf698c0e379584bd9808bf80c36b4d.zip
Merge remote-tracking branch 'origin/pr/680'
Diffstat (limited to 'src')
-rw-r--r--src/plugins/xfer/xfer-dcc.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/xfer/xfer-dcc.c b/src/plugins/xfer/xfer-dcc.c
index 4ea5e43bf..24821d7e1 100644
--- a/src/plugins/xfer/xfer-dcc.c
+++ b/src/plugins/xfer/xfer-dcc.c
@@ -368,9 +368,14 @@ xfer_dcc_recv_file_child (struct t_xfer *xfer)
ready = poll (&poll_fd, 1, -1);
if (ready <= 0)
{
- xfer_network_write_pipe (xfer, XFER_STATUS_FAILED,
- XFER_ERROR_RECV_BLOCK);
- return;
+ if ((errno == EINTR) || (errno == EAGAIN))
+ continue;
+ else
+ {
+ xfer_network_write_pipe (xfer, XFER_STATUS_FAILED,
+ XFER_ERROR_RECV_BLOCK);
+ return;
+ }
}
/* read maximum data on socket (until nothing is available) */