On Fri, 2 Apr 2021, Henrik Holst via curl-library wrote:

for (;;)
 int ret = poll (fds, nfds, timeout);

 if (ret == 0) {/* timeout */
    curl_multi_socket_action (curlm, CURL_SOCKET_TIMEOUT, 0,
&running_handles);
 } else if (ret != -1) { /* events */
   if (fds[0].revents != 0)
     curl_multi_socket_action (curlm, fds[0].fd, fds[0].revents,
&running_handles);
   else if (fds[1]).revents != 0)
     ...
 }
}

This is a typical example of an event loop that should rather use curl_multi_perform() or perhaps even just curl_multi_poll(). And yes, for such an event loop you want curl_multi_timeout (at least unless you use curl_multi_poll).

If you use poll() then the multi socket API is probably the wrong choice. The multi socket API is for event-based handling.

--

 / daniel.haxx.se
 | Commercial curl support up to 24x7 is available!
 | Private help, bug fixes, support, ports, new features
 | https://www.wolfssl.com/contact/
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html

Reply via email to