/curl/lib/ |
H A D | multi.c | 404 if(!multi) in Curl_multi_handle() 528 data->multi = multi; in curl_multi_add_handle() 798 if(data->multi != multi) in curl_multi_remove_handle() 920 return (multi && (multi->multiplexing)); in Curl_multiplex_wanted() 3385 struct Curl_multi *multi = data->multi; local 3481 struct Curl_multi *multi = mrc->multi; local 3536 mrc.multi = multi; 3803 if(!multi->timer_cb || multi->dead) 3854 rc = multi->timer_cb(multi, timeout_ms, multi->timer_userp); 3931 struct Curl_multi *multi = data->multi; local [all …]
|
H A D | multiif.h | 35 CURLMcode Curl_update_timer(struct Curl_multi *multi) WARN_UNUSED_RESULT; 39 bool Curl_multiplex_wanted(const struct Curl_multi *multi); 44 void Curl_multi_connchanged(struct Curl_multi *multi); 82 CURLMcode Curl_multi_pollset_ev(struct Curl_multi *multi, 90 CURLMcode Curl_multi_add_perform(struct Curl_multi *multi, 96 unsigned int Curl_multi_max_concurrent_streams(struct Curl_multi *multi); 174 struct Curl_easy *Curl_multi_get_handle(struct Curl_multi *multi,
|
/curl/tests/libtest/ |
H A D | lib1502.c | 46 CURLM *multi = NULL; in test() local 90 multi_init(multi); in test() 92 multi_add_handle(multi, easy); in test() 94 multi_perform(multi, &still_running); in test() 119 multi_perform(multi, &still_running); in test() 128 curl_multi_cleanup(multi); in test() 135 curl_multi_remove_handle(multi, easy); in test() 136 curl_multi_cleanup(multi); in test() 144 curl_multi_cleanup(multi); in test() 150 curl_multi_remove_handle(multi, easy); in test() [all …]
|
H A D | lib1500.c | 35 CURLM *multi = NULL; in test() local 45 multi_init(multi); in test() 52 multi_add_handle(multi, curls); in test() 54 multi_perform(multi, &still_running); in test() 61 mres = curl_multi_wait(multi, NULL, 0, TEST_HANG_TIMEOUT, &num); in test() 70 multi_perform(multi, &still_running); in test() 75 msg = curl_multi_info_read(multi, &still_running); in test() 85 curl_multi_cleanup(multi); in test()
|
H A D | lib1564.c | 35 CURLM *multi = NULL; in test() local 47 multi_init(multi); in test() 52 multi_poll(multi, NULL, 0, 1000, &numfds); in test() 66 res_multi_wakeup(multi); in test() 69 multi_poll(multi, NULL, 0, 1000, &numfds); in test() 84 multi_poll(multi, NULL, 0, 1000, &numfds); in test() 99 res_multi_wakeup(multi); in test() 102 multi_poll(multi, NULL, 0, 1000, &numfds); in test() 117 multi_poll(multi, NULL, 0, 1000, &numfds); in test() 131 curl_multi_cleanup(multi); in test()
|
H A D | lib1552.c | 35 CURLM *multi = NULL; in test() local 46 multi_init(multi); in test() 55 multi_add_handle(multi, curls); in test() 57 multi_perform(multi, &still_running); in test() 64 mres = curl_multi_wait(multi, NULL, 0, TEST_HANG_TIMEOUT, &num); in test() 73 multi_perform(multi, &still_running); in test() 78 msg = curl_multi_info_read(multi, &still_running); in test() 88 curl_multi_cleanup(multi); in test()
|
H A D | lib597.c | 46 CURLM *multi = NULL; in test() local 58 multi_init(multi); in test() 68 multi_add_handle(multi, easy); in test() 78 multi_perform(multi, &running); in test() 89 multi_fdset(multi, &fdread, &fdwrite, &fdexcep, &maxfd); in test() 93 multi_timeout(multi, &timeout); in test() 118 msg = curl_multi_info_read(multi, &msgs_left); in test() 122 multi_remove_handle(multi, easy); in test() 128 curl_multi_cleanup(multi); in test()
|
H A D | lib2405.c | 121 CURLM *multi = NULL; in test_run() local 149 multi_init(multi); in test_run() 155 multi_add_handle(multi, easy1); in test_run() 156 multi_add_handle(multi, easy2); in test_run() 212 curl_multi_remove_handle(multi, easy1); in test_run() 219 curl_multi_cleanup(multi); in test_run() 231 CURLM *multi = NULL; in empty_multi_test() local 239 multi_init(multi); in empty_multi_test() 262 multi_add_handle(multi, easy); in empty_multi_test() 278 curl_multi_remove_handle(multi, easy); in empty_multi_test() [all …]
|
H A D | lib507.c | 35 CURLM *multi = NULL; in test() local 45 multi_init(multi); in test() 52 multi_add_handle(multi, curls); in test() 54 multi_perform(multi, &still_running); in test() 71 multi_fdset(multi, &fdread, &fdwrite, &fdexcep, &maxfd); in test() 79 multi_perform(multi, &still_running); in test() 84 msg = curl_multi_info_read(multi, &still_running); in test() 94 curl_multi_cleanup(multi); in test()
|
H A D | lib1939.c | 31 CURLM *multi; in test() local 37 multi = curl_multi_init(); in test() 38 if(multi) { in test() 54 m = curl_multi_add_handle(multi, easy); in test() 59 m = curl_multi_perform(multi, &running_handles); in test() 68 curl_multi_cleanup(multi); /* double-free happens here */ in test()
|
H A D | lib1553.c | 49 CURLM *multi = NULL; in test() local 61 multi_init(multi); in test() 84 multi_add_handle(multi, curls); in test() 86 multi_perform(multi, &still_running); in test() 93 mres = curl_multi_wait(multi, NULL, 0, TEST_HANG_TIMEOUT, &num); in test() 102 multi_perform(multi, &still_running); in test() 110 curl_multi_remove_handle(multi, curls); in test() 111 curl_multi_cleanup(multi); in test()
|
H A D | lib591.c | 41 CURLM *multi = NULL; in test() local 85 multi_init(multi); in test() 87 multi_add_handle(multi, easy); in test() 97 multi_perform(multi, &running); in test() 108 multi_fdset(multi, &fdread, &fdwrite, &fdexcep, &maxfd); in test() 112 multi_timeout(multi, &timeout); in test() 136 msg = curl_multi_info_read(multi, &msgs_left); in test() 144 curl_multi_cleanup(multi); in test()
|
/curl/docs/examples/ |
H A D | multi-uv.c | 46 CURLM *multi; member 100 curl_multi_add_handle(multi, handle); in add_download() 170 static int cb_timeout(CURLM *multi, long timeout_ms, in cb_timeout() argument 173 (void)multi; in cb_timeout() 202 curl_multi_assign(uv->multi, s, (void *) curl_context); in cb_socket() 215 curl_multi_assign(uv->multi, s, NULL); in cb_socket() 238 uv.multi = curl_multi_init(); in main() 240 curl_multi_setopt(uv.multi, CURLMOPT_SOCKETDATA, &uv); in main() 242 curl_multi_setopt(uv.multi, CURLMOPT_TIMERDATA, &uv); in main() 245 add_download(argv[argc], argc, uv.multi); in main() [all …]
|
H A D | Makefile.inc | 74 imap-multi \ 85 multi-app \ 87 multi-double \ 88 multi-formadd \ 89 multi-legacy \ 90 multi-post \ 91 multi-single \ 98 pop3-multi \ 127 smtp-multi \ 150 multi-event.c \ [all …]
|
H A D | .gitignore | 53 imap-multi 64 multi-app 65 multi-debugcallback 66 multi-double 67 multi-formadd 68 multi-legacy 69 multi-poll 70 multi-post 71 multi-single 79 pop3-multi [all …]
|
H A D | http2-pushinmemory.c | 127 CURLM *multi; in main() local 134 multi = curl_multi_init(); in main() 142 curl_multi_add_handle(multi, easy); in main() 144 curl_multi_setopt(multi, CURLMOPT_PIPELINING, CURLPIPE_MULTIPLEX); in main() 145 curl_multi_setopt(multi, CURLMOPT_PUSHFUNCTION, server_push_callback); in main() 146 curl_multi_setopt(multi, CURLMOPT_PUSHDATA, &transfers); in main() 150 CURLMcode mcode = curl_multi_perform(multi, &still_running); in main() 154 mcode = curl_multi_wait(multi, NULL, 0, 1000, &rc); in main() 165 m = curl_multi_info_read(multi, &msgq); in main() 169 curl_multi_remove_handle(multi, e); in main() [all …]
|
H A D | hiperfifo.c | 86 CURLM *multi; member 145 (void)multi; in multi_timer_cb() 176 while((msg = curl_multi_info_read(g->multi, &msgs_left))) { in check_multi_info() 183 curl_multi_remove_handle(g->multi, easy); in check_multi_info() 227 rc = curl_multi_socket_action(g->multi, in timer_cb() 275 curl_multi_assign(g->multi, s, fdp); in addsock() 358 rc = curl_multi_add_handle(g->multi, conn->easy); in new_conn() 443 g.multi = curl_multi_init(); in main() 448 curl_multi_setopt(g.multi, CURLMOPT_SOCKETDATA, &g); in main() 450 curl_multi_setopt(g.multi, CURLMOPT_TIMERDATA, &g); in main() [all …]
|
H A D | ghiper.c | 74 CURLM *multi; member 129 while((msg = curl_multi_info_read(g->multi, &msgs_left))) { in check_multi_info() 136 curl_multi_remove_handle(g->multi, easy); in check_multi_info() 150 rc = curl_multi_socket_action(g->multi, in timer_cb() 243 curl_multi_assign(g->multi, s, fdp); in addsock() 323 rc = curl_multi_add_handle(g->multi, conn->easy); in new_conn() 426 g->multi = curl_multi_init(); in main() 427 curl_multi_setopt(g->multi, CURLMOPT_SOCKETFUNCTION, sock_cb); in main() 428 curl_multi_setopt(g->multi, CURLMOPT_SOCKETDATA, g); in main() 430 curl_multi_setopt(g->multi, CURLMOPT_TIMERDATA, g); in main() [all …]
|
/curl/docs/libcurl/ |
H A D | curl_multi_add_handle.md | 20 curl_multi_add_handle - add an easy handle to a multi session 36 handle from the multi stack again, it is perfectly fine to use it with the 41 the multi handle when curl_multi_add_handle(3) is called. 44 connection cache owned by the multi handle. Removing and adding new easy 48 If you have CURLMOPT_TIMERFUNCTION(3) set in the multi handle (as you 59 first the easy handle and then the multi handle: 74 /* init a multi stack */ 75 CURLM *multi = curl_multi_init(); 82 curl_multi_add_handle(multi, http_handle); 83 curl_multi_add_handle(multi, http_handle2); [all …]
|
H A D | curl_multi_init.md | 20 curl_multi_init - create a multi handle 33 all the other multi-functions, sometimes referred to as a multi handle in some 37 By default, several caches are stored in and held by the multi handle: DNS 39 transfers using the same multi handle share these caches. 48 /* init a multi stack */ 49 CURLM *multi = curl_multi_init(); 54 curl_multi_add_handle(multi, curl); 55 curl_multi_add_handle(multi, curl2);
|
H A D | curl_multi_remove_handle.md | 18 curl_multi_remove_handle - remove an easy handle from a multi session 31 specified easy handle be removed from this multi handle's control. 33 When the easy handle has been removed from a multi stack, it is again 43 Removing an easy handle from the multi handle before the corresponding 47 multi handle, ready to get reused for a future transfer using this multi 57 CURLM *multi = curl_multi_init(); 61 CURLMsg *msg = curl_multi_info_read(multi, &queued); 66 curl_multi_remove_handle(multi, msg->easy_handle); 76 CURLMcode type, general libcurl multi interface error code.
|
H A D | curl_multi_cleanup.md | 19 curl_multi_cleanup - close down a multi session 32 whole multi stack. It does not free or touch any individual easy handles in 39 handle is no longer connected to the multi handle 45 the multi handle are shut down, which might trigger calls to the 60 CURLM *multi = curl_multi_init(); 62 /* when the multi transfer is done ... */ 65 curl_multi_cleanup(multi); 73 CURLMcode type, general libcurl multi interface error code. On success,
|
H A D | curl_multi_wakeup.md | 54 CURLM *multi; 58 curl_multi_add_handle(multi, easy); 65 mc = curl_multi_perform(multi, &still_running); 69 mc = curl_multi_poll(multi, NULL, 0, 10000, &numfds); 77 curl_multi_remove_handle(multi, easy); 85 curl_multi_wakeup(multi); 94 CURLMcode type, general libcurl multi interface error code.
|
H A D | curl_multi_wait.md | 18 curl_multi_wait - poll on all easy handles in a multi handle 35 handles contained in the given multi handle set. It blocks until activity is 37 Alternatively, if the multi handle has a pending internal timeout that has a 55 multi interface to allow applications to easier circumvent the common problem 91 CURLM *multi = curl_multi_init(); 95 curl_multi_add_handle(multi, easy); 101 mc = curl_multi_perform(multi, &still_running); 105 mc = curl_multi_wait(multi, NULL, 0, 1000, &numfds); 115 curl_multi_remove_handle(multi, easy); 123 CURLMcode type, general libcurl multi interface error code. See
|
/curl/tests/unit/ |
H A D | unit1609.c | 105 struct Curl_multi *multi = NULL; variable 127 multi = curl_multi_init(); 128 if(!multi) 130 curl_multi_add_handle(multi, easy); 203 curl_multi_cleanup(multi); 204 multi = NULL; 216 curl_multi_cleanup(multi);
|