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

Reply via email to