mirror of
https://github.com/moparisthebest/curl
synced 2025-03-11 07:39:50 -04:00
Curl_conncache_foreach: allow callback to break loop
... and have it take a proper 'struct connectdata *' as first argument
This commit is contained in:
parent
2897ce7dc2
commit
1649e680f6
@ -180,10 +180,13 @@ void Curl_conncache_remove_conn(struct conncache *connc,
|
|||||||
|
|
||||||
/* This function iterates the entire connection cache and calls the
|
/* This function iterates the entire connection cache and calls the
|
||||||
function func() with the connection pointer as the first argument
|
function func() with the connection pointer as the first argument
|
||||||
and the supplied 'param' argument as the other */
|
and the supplied 'param' argument as the other,
|
||||||
|
|
||||||
|
Return 0 from func() to continue the loop, return 1 to abort it.
|
||||||
|
*/
|
||||||
void Curl_conncache_foreach(struct conncache *connc,
|
void Curl_conncache_foreach(struct conncache *connc,
|
||||||
void *param,
|
void *param,
|
||||||
void (*func)(void *conn, void *param))
|
int (*func)(struct connectdata *conn, void *param))
|
||||||
{
|
{
|
||||||
struct curl_hash_iterator iter;
|
struct curl_hash_iterator iter;
|
||||||
struct curl_llist_element *curr;
|
struct curl_llist_element *curr;
|
||||||
@ -208,7 +211,8 @@ void Curl_conncache_foreach(struct conncache *connc,
|
|||||||
conn = curr->ptr;
|
conn = curr->ptr;
|
||||||
curr = curr->next;
|
curr = curr->next;
|
||||||
|
|
||||||
func(conn, param);
|
if(1 == func(conn, param))
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
he = Curl_hash_next_element(&iter);
|
he = Curl_hash_next_element(&iter);
|
||||||
|
@ -48,7 +48,8 @@ void Curl_conncache_remove_conn(struct conncache *connc,
|
|||||||
|
|
||||||
void Curl_conncache_foreach(struct conncache *connc,
|
void Curl_conncache_foreach(struct conncache *connc,
|
||||||
void *param,
|
void *param,
|
||||||
void (*func)(void *, void *));
|
int (*func)(struct connectdata *conn,
|
||||||
|
void *param));
|
||||||
|
|
||||||
struct connectdata *
|
struct connectdata *
|
||||||
Curl_conncache_find_first_connection(struct conncache *connc);
|
Curl_conncache_find_first_connection(struct conncache *connc);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user