GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
curl_multi_wakeup(3) libcurl Manual curl_multi_wakeup(3)

curl_multi_wakeup - wakes up a sleeping curl_multi_poll call

#include <curl/curl.h>
CURLMcode curl_multi_wakeup(CURLM *multi_handle);

This function can be called from any thread and it wakes up a sleeping curl_multi_poll(3) call that is currently (or will be) waiting for activity or a timeout.

If the function is called when there is no curl_multi_poll(3) call, it will cause the next call to return immediately.

Calling this function only guarantees to wake up the current (or the next if there is no current) curl_multi_poll(3) call, which means it is possible that multiple calls to this function will wake up the same waiting operation.

This function has no effect on curl_multi_wait(3) calls.

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);
}

Added in 7.68.0

CURLMcode type, general libcurl multi interface error code.

curl_multi_poll(3), curl_multi_wait(3)
November 26, 2021 libcurl 7.83.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.