diff options
author | Daniel Stenberg <daniel@haxx.se> | 2019-11-25 16:09:34 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2019-11-26 08:11:32 +0100 |
commit | 95e94c64fb0290b6c0e66e78de7d7dfd109c4080 (patch) | |
tree | c7a53547ff0490f30cea9b4a456a5263ec525007 | |
parent | f3c35e371cc70f1b6bc33f7faa904d37d1567eb3 (diff) | |
download | curl-95e94c64fb0290b6c0e66e78de7d7dfd109c4080.tar.gz |
curl_multi_wakeup.3: add example and AVAILABILITY
Reviewed-by: Gergely Nagy
Closes #4635
-rw-r--r-- | docs/libcurl/curl_multi_wakeup.3 | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/docs/libcurl/curl_multi_wakeup.3 b/docs/libcurl/curl_multi_wakeup.3 index 01b462f2f..0572146cb 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)" |