bool premature;
struct Curl_llist_node *e;
CURLMcode mresult;
- bool removed_timer = FALSE;
uint32_t mid;
/* First, make some basic checks that the CURLM handle is a good handle */
/* The timer must be shut down before data->multi is set to NULL, else the
timenode will remain in the splay tree after curl_easy_cleanup is
called. Do it after multi_done() in case that sets another time! */
- removed_timer = Curl_expire_clear(data);
+ Curl_expire_clear(data);
/* If in `msgsent`, it was deducted from `multi->xfers_alive` already. */
if(!Curl_uint32_bset_contains(&multi->msgsent, data->mid))
We do not touch the easy handle here! */
process_pending_handles(multi);
- if(removed_timer) {
- mresult = Curl_update_timer(multi);
- if(mresult)
- return mresult;
- }
+ mresult = Curl_update_timer(multi);
+ if(mresult)
+ return mresult;
CURL_TRC_M(data, "removed from multi, mid=%u, running=%u, total=%u",
mid, Curl_multi_xfers_running(multi),
*
* Clear ALL timeout values for this handle.
*/
-bool Curl_expire_clear(struct Curl_easy *data)
+void Curl_expire_clear(struct Curl_easy *data)
{
struct Curl_multi *multi = data->multi;
struct curltime *nowp = &data->state.expiretime;
/* this is only interesting while there is still an associated multi struct
remaining! */
if(!multi)
- return FALSE;
+ return;
if(nowp->tv_sec || nowp->tv_usec) {
/* Since this is an cleared time, we must remove the previous entry from
CURL_TRC_M(data, "[TIMEOUT] all cleared");
nowp->tv_sec = 0;
nowp->tv_usec = 0;
- return TRUE;
}
- return FALSE;
}
CURLMcode curl_multi_assign(CURLM *m, curl_socket_t s,
void Curl_expire(struct Curl_easy *data, timediff_t milli, expire_id);
void Curl_expire_ex(struct Curl_easy *data,
timediff_t milli, expire_id id);
-bool Curl_expire_clear(struct Curl_easy *data);
+void Curl_expire_clear(struct Curl_easy *data);
void Curl_expire_done(struct Curl_easy *data, expire_id id);
CURLMcode Curl_update_timer(struct Curl_multi *multi) WARN_UNUSED_RESULT;
void Curl_attach_connection(struct Curl_easy *data,