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