diff options
author | Dave Reisner <dreisner@archlinux.org> | 2012-07-23 15:34:25 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2012-08-27 15:10:13 +0200 |
commit | 4c070de4fb01b4fbf29f8c463ba96da97b36bd2f (patch) | |
tree | 3be5aa0d1ff12fa758b8d0ddd88ba35095b4f668 /docs/examples/multi-app.c | |
parent | 54faab69cbdabe51bab1bdee0a9c69e423178084 (diff) |
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.
Diffstat (limited to 'docs/examples/multi-app.c')
-rw-r--r-- | docs/examples/multi-app.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/examples/multi-app.c b/docs/examples/multi-app.c index 9615e67bf..a5f71c5ac 100644 --- a/docs/examples/multi-app.c +++ b/docs/examples/multi-app.c @@ -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))) { |