mirror of
https://github.com/curl/curl.git
synced 2026-06-19 08:05:38 +03:00
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 |
||
|---|---|---|
| .. | ||
| .gitignore | ||
| curl.h | ||
| curlver.h | ||
| easy.h | ||
| Makefile.am | ||
| mprintf.h | ||
| multi.h | ||
| stdcheaders.h | ||
| system.h | ||
| typecheck-gcc.h | ||
| urlapi.h | ||