should we start with the concept of simple interrupts blocking vs non-blocking calls?
On Tue, Apr 21, 2015 at 5:10 PM, mm.w <[email protected]> wrote: > a lot has to be retaken about understanding basics of BSD socket interface > ; he would less theorize. > > On Tue, Apr 21, 2015 at 4:46 PM, Daniel Hardman <[email protected]> > wrote: > >> >>If asio is only issuing edge-triggered notifications, then libcurl >> will only see state transitions on sockets, not continuations of the >> previous state. >> >> I've verified that the edge-triggered change in asio is the cause of the >> hang. In event_cb in asiohiper.cpp, we call curl_multi_socket_action() only >> once for each state transition. This worked fine when asio was >> level-triggered. Now, however, we need to call curl_multi_socket_action() >> repeatedly, until curl tells us that our socket has a new target state. >> >> Besides explaining my hang, this probably explains the problem I reported >> in my other post--the asio sample running very slowly. I'll confirm that as >> well--and assuming the theory is confirmed after further testing, I'll post >> a patch. >> >> --Daniel >> >> ------------------------------------------------------------------- >> List admin: http://cool.haxx.se/list/listinfo/curl-library >> Etiquette: http://curl.haxx.se/mail/etiquette.html >> > >
------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
