aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2006-12-05 15:17:32 +0000
committerDaniel Stenberg <daniel@haxx.se>2006-12-05 15:17:32 +0000
commit4c65eb0af841d95de24622e1b8212bf1c30c0c48 (patch)
tree724fc9afad0d238bfe8418da47265f1d6d8d210b
parent318a8258fdac1a103eec29878c91850199cfdfd0 (diff)
CURLOPT_FORBID_REUSE works again with a cleaned up order of doing things in
Curl_done()
-rw-r--r--CHANGES3
-rw-r--r--RELEASE-NOTES3
-rw-r--r--lib/url.c7
3 files changed, 8 insertions, 5 deletions
diff --git a/CHANGES b/CHANGES
index 55288a34b..6352a14d7 100644
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,9 @@
Changelog
Daniel (5 December 2006)
+- Sh Diao reported that CURLOPT_FORBID_REUSE no works, and indeed it broke in
+ the 7.16.0 release.
+
- Martin Skinner brought back bug report #1230118 to haunt us once again.
(http://curl.haxx.se/bug/view.cgi?id=1230118) curl_getdate() did not work
properly for all input dates on Windows. It was mostly seen on some TZ time
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 99ef62c08..ff47e8f38 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -29,6 +29,7 @@ This release includes the following bugfixes:
o CPU 100% load when HTTP upload connection broke
o active FTP didn't work with multi interface
o curl_getdate() could be off one hour for TZ time zones with DST, on windows
+ o CURLOPT_FORBID_REUSE works again
Other curl-related news:
@@ -46,6 +47,6 @@ advice from friends like these:
James Housley, Olaf Stueben, Yang Tse, Gisle Vanem, Bradford Bruce,
Ciprian Badescu, Dmitriy Sergeyev, Nir Soffer, Venkat Akella, Toon Verwaest,
- Matt Witherspoon, Alexey Simak, Martin Skinner
+ Matt Witherspoon, Alexey Simak, Martin Skinner, Sh Diao
Thanks! (and sorry if I forgot to mention someone)
diff --git a/lib/url.c b/lib/url.c
index bf67b9c1b..71463164a 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -4150,8 +4150,6 @@ CURLcode Curl_done(struct connectdata **connp,
cancelled before we proceed */
ares_cancel(data->state.areschannel);
- ConnectionDone(conn); /* the connection is no longer in use */
-
/* if data->set.reuse_forbid is TRUE, it means the libcurl client has
forced us to close this no matter what we think.
@@ -4159,8 +4157,7 @@ CURLcode Curl_done(struct connectdata **connp,
closed in spite of all our efforts to be nice, due to protocol
restrictions in our or the server's end */
if(data->set.reuse_forbid || conn->bits.close) {
- CURLcode res2;
- res2 = Curl_disconnect(conn); /* close the connection */
+ CURLcode res2 = Curl_disconnect(conn); /* close the connection */
*connp = NULL; /* to make the caller of this function better detect that
this was actually killed here */
@@ -4171,6 +4168,8 @@ CURLcode Curl_done(struct connectdata **connp,
result = res2;
}
else {
+ ConnectionDone(conn); /* the connection is no longer in use */
+
/* remember the most recently used connection */
data->state.lastconnect = conn->connectindex;