curl_easy_perform: avoid busy-looping
authorDaniel Stenberg <daniel@haxx.se>
Thu, 13 Jun 2013 17:27:12 +0000 (19:27 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 13 Jun 2013 17:27:12 +0000 (19:27 +0200)
commit0feeab7802dd2a6465d22d153d8d36b2cca99b96
tree2c830a356ee4e24e6eb9414958a953ffa7d14875
parentf24dc09d209a2f91ca38d854f0c15ad93f3d7e2d
curl_easy_perform: avoid busy-looping

When curl_multi_wait() finds no file descriptor to wait for, it returns
instantly and this must be handled gracefully within curl_easy_perform()
or cause a busy-loop. Starting now, repeated fast returns without any
file descriptors is detected and a gradually increasing sleep will be
used (up to a max of 1000 milliseconds) before continuing the loop.

Bug: http://curl.haxx.se/bug/view.cgi?id=1238
Reported-by: Miguel Angel
lib/easy.c