Hi there, While implementing a http client in C++, I stumbled upon to "bug" in asiohiper and I would like to check here if the fix is correct:
It is said that when curl_multi_socket_action is called it will call the CURLMOPT_SOCKETFUNCTION *if the status was updated*, this means, if the status is not updated the socket should be rescheduled to wait for the same type of event. So is the following fix correct: -> wait for and X event / save event // in CURLMOPT_SOCKETFUNCTION -> event X notified -> do curl_multi_socket_action (may call CURLMOPT_SOCKETFUNCTION) -> check if current_event == saved event --> then: poll for the same event --> else: do nothing since CURLMOPT_SOCKETFUNCTION, will schedule an event. Is this correct ? I checked in the sources, and I think I am but I could have easily missed something... To trigger the bug, one can simply modify the url to a complete google url like: http://www.google.fr/ which do not trigger a redirection but a complete page with a chunked response. The code of this wrapper can be found here if someone is interested: https://github.com/daedric/httpp/ Thanks a lot, Cheers, -- Thomas Sanchez ------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
