From 9e612b5550a0b17ffd3f595cf9e2f5a62d3a82e1 Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Fri, 18 Oct 2002 15:28:33 +0000
Subject: [PATCH] make very sure that we return 'done' properly when a transfer
 is done, as otherwise the multi interface gets problems

---
 lib/transfer.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/transfer.c b/lib/transfer.c
index 5dcf3f28e2..e90104aec1 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -718,6 +718,7 @@ CURLcode Curl_readwrite(struct connectdata *conn,
               infof (data, "Follow to new URL: %s\n", conn->newurl);
               k->keepon &= ~KEEP_READ;
               FD_ZERO(&k->rkeepfd);
+              *done = TRUE;
               return CURLE_OK;
             }
             else if (conn->resume_from &&
@@ -742,6 +743,7 @@ CURLcode Curl_readwrite(struct connectdata *conn,
                   if(k->timeofdoc < data->set.timevalue) {
                     infof(data,
                           "The requested document is not new enough\n");
+                    *done = TRUE;
                     return CURLE_OK;
                   }
                   break;
@@ -749,6 +751,7 @@ CURLcode Curl_readwrite(struct connectdata *conn,
                   if(k->timeofdoc > data->set.timevalue) {
                     infof(data,
                           "The requested document is not old enough\n");
+                    *done = TRUE;
                     return CURLE_OK;
                   }
                   break;
-- 
GitLab