cURL / Mailing Lists / curl-library / Single Mail


Re: not receiving CURLMSG_DONE or other end-of-transfer signals

From: Daniel Hardman <>
Date: Tue, 21 Apr 2015 17:46:32 -0600

>>If asio is only issuing edge-triggered notifications, then libcurl will
only see state transitions on sockets, not continuations of the previous

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.


List admin:
Received on 2015-04-22