]> granicus.if.org Git - curl/commit
sendf.c: added ability to call recv() before send() as workaround
authorKarlson2k <k2k@narod.ru>
Fri, 19 Feb 2016 19:38:20 +0000 (22:38 +0300)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 20 Apr 2016 07:22:48 +0000 (09:22 +0200)
commit72d5e144fbc6a9db264ae425bb788af218f25d9e
treefefce2fae7b555b33c32745bf2e83ed5e2823c3c
parentad3d40d40707f1c5f37f878a61de4a8f0aeac2b8
sendf.c: added ability to call recv() before send() as workaround

WinSock destroys recv() buffer if send() is failed. As result - server
response may be lost if server sent it while curl is still sending
request. This behavior noticeable on HTTP server short replies if
libcurl use several send() for request (usually for POST request).
To workaround this problem, libcurl use recv() before every send() and
keeps received data in intermediate buffer for further processing.

Fixes: #657
Closes: #668
lib/curl_setup.h
lib/sendf.c
lib/url.c
lib/urldata.h