mirror of
https://github.com/moparisthebest/curl
synced 2024-08-13 17:03:50 -04:00
02346abc32
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 |
||
---|---|---|
.. | ||
cmdline-opts | ||
examples | ||
libcurl | ||
.gitignore | ||
ALTSVC.md | ||
BINDINGS.md | ||
BUG-BOUNTY.md | ||
BUGS | ||
CHECKSRC.md | ||
CIPHERS.md | ||
CMakeLists.txt | ||
CODE_OF_CONDUCT.md | ||
CODE_STYLE.md | ||
CONTRIBUTE.md | ||
curl-config.1 | ||
DEPRECATE.md | ||
FAQ | ||
FEATURES | ||
GOVERNANCE.md | ||
HELP-US.md | ||
HISTORY.md | ||
HTTP2.md | ||
HTTP3.md | ||
HTTP-COOKIES.md | ||
INSTALL | ||
INSTALL.cmake | ||
INSTALL.md | ||
INTERNALS.md | ||
KNOWN_BUGS | ||
LICENSE-MIXING.md | ||
MAIL-ETIQUETTE | ||
Makefile.am | ||
MANUAL.md | ||
mk-ca-bundle.1 | ||
PARALLEL-TRANSFERS.md | ||
README.cmake | ||
README.md | ||
README.netware | ||
README.win32 | ||
RELEASE-PROCEDURE.md | ||
RESOURCES | ||
ROADMAP.md | ||
SECURITY-PROCESS.md | ||
SSL-PROBLEMS.md | ||
SSLCERTS.md | ||
THANKS | ||
THANKS-filter | ||
TheArtOfHttpScripting | ||
TODO | ||
VERSIONS |
Documentation
You'll find a mix of various documentation in this directory and subdirectories, using several different formats. Some of them are not ideal for reading directly in your browser.
If you'd rather see the rendered version of the documentation, check out the curl web site's documentation section for general curl stuff or the libcurl section for libcurl related documentation.