curl/include/curl
Daniel Stenberg 02346abc32
curl_multi_poll: a sister to curl_multi_wait() that waits more
Repeatedly we see problems where using curl_multi_wait() is difficult or
just awkward because if it has no file descriptor to wait for
internally, it returns immediately and leaves it to the caller to wait
for a small amount of time in order to avoid occasional busy-looping.

This is often missed or misunderstood, leading to underperforming
applications.

This change introduces curl_multi_poll() as a replacement drop-in
function that accepts the exact same set of arguments. This function
works identically to curl_multi_wait() - EXCEPT - for the case when
there's nothing to wait for internally, as then this function will by
itself wait for a "suitable" short time before it returns. This
effectiely avoids all risks of busy-looping and should also make it less
likely that apps "over-wait".

This also changes the curl tool to use this funtion internally when
doing parallel transfers and changes curl_easy_perform() to use it
internally.

Closes #4163
2019-08-06 09:33:29 +02:00
..
.gitignore includes: remove curl/curlbuild.h and curl/curlrules.h 2017-06-14 11:07:33 +02:00
curl.h curl.h: fix outdated comment 2019-07-30 23:31:52 +02:00
curlver.h bump: start working on 7.66.0 2019-07-19 23:52:34 +02:00
easy.h curl_easy_upkeep: removed 'conn' from the name 2018-09-07 13:43:26 +02:00
Makefile.am makefile: make checksrc and hugefile commands "silent" 2019-03-14 20:11:24 +01:00
mprintf.h curl/mprintf.h: remove support for _MPRINTF_REPLACE 2016-04-01 10:46:36 +02:00
multi.h curl_multi_poll: a sister to curl_multi_wait() that waits more 2019-08-06 09:33:29 +02:00
stdcheaders.h checksrc: stricter no-space-before-paren enforcement 2016-12-13 23:39:11 +01:00
system.h system.h: use proper setting with Sun C++ as well 2018-10-27 16:07:24 +02:00
typecheck-gcc.h typecheck: add 3 missing strings and a callback data pointer 2019-06-22 00:12:55 +02:00
urlapi.h urlapi: add CURLUPART_ZONEID to set and get 2019-05-05 15:52:46 +02:00