Buy commercial curl support from WolfSSL. We help you work
out your issues, debug your libcurl applications, use the API, port to new
platforms, add new features and more. With a team lead by the curl founder
himself.
Re: curl_multi_timeout and the multi_socket API
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Henrik Holst via curl-library <curl-library_at_cool.haxx.se>
Date: Fri, 2 Apr 2021 23:08:46 +0200
Den fre 2 apr. 2021 kl 23:05 skrev Daniel Stenberg <daniel_at_haxx.se>:
> 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.
>
Okey, but the very same thing happens with epoll, or are we only defining
event-based handling as say libevent, libev and libuv?
/HH
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.se/mail/etiquette.html
Received on 2021-04-02
Date: Fri, 2 Apr 2021 23:08:46 +0200
Den fre 2 apr. 2021 kl 23:05 skrev Daniel Stenberg <daniel_at_haxx.se>:
> 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.
>
Okey, but the very same thing happens with epoll, or are we only defining
event-based handling as say libevent, libev and libuv?
/HH
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette: https://curl.se/mail/etiquette.html
Received on 2021-04-02