summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/reqs.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/reqs.c b/src/reqs.c
index 439d0e1..12935b4 100644
--- a/src/reqs.c
+++ b/src/reqs.c
@@ -1210,7 +1210,14 @@ static void relay_connection (struct conn_s *connptr)
* Here the server has closed the connection... write the
* remainder to the client and then exit.
*/
- socket_blocking (connptr->client_fd);
+ ret = socket_blocking (connptr->client_fd);
+ if (ret != 0) {
+ log_message(LOG_ERR,
+ "Failed to set client socket to blocking: %s",
+ strerror(errno));
+ return;
+ }
+
while (buffer_size (connptr->sbuffer) > 0) {
if (write_buffer (connptr->client_fd, connptr->sbuffer) < 0)
break;