From 49ef87c3143c59e3037b8dd78b083e30643bf775 Mon Sep 17 00:00:00 2001 From: Bruno Jesus <00cpxxx@gmail.com> Date: Thu, 12 Jun 2014 01:45:36 -0300 Subject: [PATCH] winetest: Take care of EINTR on send/recv. --- programs/winetest/send.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/programs/winetest/send.c b/programs/winetest/send.c index 7767d251895..d04b6e9890e 100644 --- a/programs/winetest/send.c +++ b/programs/winetest/send.c @@ -92,7 +92,10 @@ send_buf (SOCKET s, const char *buf, size_t length) while (length > 0) { sent = send (s, buf, length, 0); - if (sent == SOCKET_ERROR) return 1; + if (sent == SOCKET_ERROR) { + if (errno == EINTR) continue; + return 1; + } buf += sent; length -= sent; } @@ -200,6 +203,7 @@ send_file_direct (const char *name) total = 0; while ((bytes_read = recv (s, buffer+total, BUFLEN-total, 0))) { if ((signed)bytes_read == SOCKET_ERROR) { + if (errno == EINTR) continue; report (R_WARNING, "Error receiving reply: %d, %d", errno, WSAGetLastError ()); goto abort1;