From 4c65eb0af841d95de24622e1b8212bf1c30c0c48 Mon Sep 17 00:00:00 2001 From: Daniel Stenberg Date: Tue, 5 Dec 2006 15:17:32 +0000 Subject: CURLOPT_FORBID_REUSE works again with a cleaned up order of doing things in Curl_done() --- lib/url.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'lib/url.c') 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; -- cgit v1.2.3