1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-10 11:35:07 -05:00

CURLOPT_FORBID_REUSE works again with a cleaned up order of doing things in

Curl_done()
This commit is contained in:
Daniel Stenberg 2006-12-05 15:17:32 +00:00
parent 318a8258fd
commit 4c65eb0af8
3 changed files with 8 additions and 5 deletions

View File

@ -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

View File

@ -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)

View File

@ -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;