From: Daniel Stenberg Date: Mon, 25 Nov 2019 15:09:34 +0000 (+0100) Subject: curl_multi_wakeup.3: add example and AVAILABILITY X-Git-Tag: curl-7_68_0~142 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=95e94c64fb0290b6c0e66e78de7d7dfd109c4080;p=thirdparty%2Fcurl.git curl_multi_wakeup.3: add example and AVAILABILITY Reviewed-by: Gergely Nagy Closes #4635 --- diff --git a/docs/libcurl/curl_multi_wakeup.3 b/docs/libcurl/curl_multi_wakeup.3 index 01b462f2f1..0572146cb7 100644 --- a/docs/libcurl/curl_multi_wakeup.3 +++ b/docs/libcurl/curl_multi_wakeup.3 @@ -43,5 +43,44 @@ operation. This function has no effect on \fIcurl_multi_wait(3)\fP calls. .SH RETURN VALUE CURLMcode type, general libcurl multi interface error code. +.SH AVAILABILITY +Added in 7.68.0 +.SH EXAMPLE +.nf +CURL *easy_handle; +CURLM *multi_handle; + +/* add the individual easy handle */ +curl_multi_add_handle(multi_handle, easy_handle); + +/* this is thread 1 */ +do { + CURLMcode mc; + int numfds; + + mc = curl_multi_perform(multi_handle, &still_running); + + if(mc == CURLM_OK) { + /* wait for activity, timeout or wakeup */ + mc = curl_multi_poll(multi_handle, NULL, 0, 10000, &numfds); + } + + if(time_to_die()) + exit(1); + +} while(still_running); + +curl_multi_remove_handle(multi_handle, easy_handle); + +/* this is thread 2 */ + +if(something makes us decide to stop thread 1) { + + set_something_to_signal_thread_1_to_exit(); + + curl_multi_wakeup(multi_handle); +} + +.fi .SH "SEE ALSO" .BR curl_multi_poll "(3), " curl_multi_wait "(3)"