examples: use do/while loop for multi examples

It's conceivable that after the first time curl_multi_perform returns,
the outvalue still_running will be 0, but work will have been done. This
is shown by a workload of small, purely file:// based URLs. Ensure that
we always read pending messages off the multi handle by forcing the
while loop to run at least once.
This commit is contained in:
Dave Reisner
2012-07-23 15:34:25 +00:00
committed by Daniel Stenberg
parent 54faab69cb
commit 4c070de4fb
5 changed files with 10 additions and 10 deletions

View File

@@ -70,7 +70,7 @@ int main(void)
/* we start some action by calling perform right away */
curl_multi_perform(multi_handle, &still_running);
while(still_running) {
do {
struct timeval timeout;
int rc; /* select() return code */
@@ -118,7 +118,7 @@ int main(void)
curl_multi_perform(multi_handle, &still_running);
break;
}
}
} while(still_running);
/* See how the transfers went */
while ((msg = curl_multi_info_read(multi_handle, &msgs_left))) {