diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/multi.c | 2 | ||||
| -rw-r--r-- | lib/url.c | 5 | 
2 files changed, 4 insertions, 3 deletions
| diff --git a/lib/multi.c b/lib/multi.c index e857392e0..875e136ee 100644 --- a/lib/multi.c +++ b/lib/multi.c @@ -1594,6 +1594,8 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,        /* Important: reset the conn pointer so that we don't point to memory           that could be freed anytime */        easy->easy_conn = NULL; + +      Curl_expire(data, 0); /* stop all timers */        break;      case CURLM_STATE_MSGSENT: @@ -481,6 +481,8 @@ CURLcode Curl_close(struct SessionHandle *data)    }  #endif +  Curl_expire(data, 0); /* shut off timers */ +    if(m)      /* This handle is still part of a multi handle, take care of this first         and detach this handle from there. */ @@ -2579,7 +2581,6 @@ CURLcode Curl_disconnect(struct connectdata *conn)                    NULL, Curl_scan_cache_used);  #endif -  Curl_expire(data, 0); /* shut off timers */    Curl_hostcache_prune(data); /* kill old DNS cache entries */    { @@ -5131,8 +5132,6 @@ CURLcode Curl_done(struct connectdata **connp,    conn = *connp;    data = conn->data; -  Curl_expire(data, 0); /* stop timer */ -    if(conn->bits.done)      /* Stop if Curl_done() has already been called */      return CURLE_OK; | 
