Den lör 3 apr. 2021 kl 10:40 skrev Fulup Ar Foll <fulup.arf...@iot.bzh>:

> Henrik,
>
> I wrote an example using either sytemd or libuv main loop, it might
> eventually help you https://github.com/fulup-bzh/libcurl-mainloop
>
Thanks, I can see that you use the timer functionatilty in libuv and
systemd to avoid the problems that I'm talking about. The main question
then is if a call to curl_multi_timeout() before each call to epoll_wait()
/ poll() / select() is more or less overhead than using timers.

/HH

>
> Fulup
>
> On 02/04/2021 23:08, Henrik Holst via curl-library wrote:
>
>
>
> Den fre 2 apr. 2021 kl 23:05 skrev Daniel Stenberg <dan...@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
>
>
>
-------------------------------------------------------------------
Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library
Etiquette:   https://curl.se/mail/etiquette.html

Reply via email to