aboutsummaryrefslogtreecommitdiff
path: root/docs/libcurl
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2019-11-25 16:09:34 +0100
committerDaniel Stenberg <daniel@haxx.se>2019-11-26 08:11:32 +0100
commit95e94c64fb0290b6c0e66e78de7d7dfd109c4080 (patch)
treec7a53547ff0490f30cea9b4a456a5263ec525007 /docs/libcurl
parentf3c35e371cc70f1b6bc33f7faa904d37d1567eb3 (diff)
curl_multi_wakeup.3: add example and AVAILABILITY
Reviewed-by: Gergely Nagy Closes #4635
Diffstat (limited to 'docs/libcurl')
-rw-r--r--docs/libcurl/curl_multi_wakeup.339
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)"