]> granicus.if.org Git - curl/commitdiff
curl_multi_info_read.3: added example
authorDaniel Stenberg <daniel@haxx.se>
Tue, 2 Jun 2015 10:00:37 +0000 (12:00 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 2 Jun 2015 10:01:39 +0000 (12:01 +0200)
docs/libcurl/curl_multi_info_read.3

index a23ea7138b696722e61612e89c9ac7f904e3b244..bdf89863fc04e807a755078986c25ff5bbd77852 100644 (file)
@@ -68,6 +68,23 @@ is done, and then \fBresult\fP contains the return code for the easy handle
 that just completed.
 
 At this point, there are no other \fBmsg\fP types defined.
+.SH EXAMPLE
+struct CURLMsg *m;
+
+/* call curl_multi_perform or curl_multi_socket_action first, then loop
+   through and check if there are any transfers that have completed */
+
+do {
+  int msgq = 0;
+  m = curl_multi_info_read(multi_handle, &msgq);
+  if(m && (m->msg == CURLMSG_DONE)) {
+    CURL *e = m->easy_handle;
+    transfers--;
+    curl_multi_remove_handle(multi_handle, e);
+    curl_easy_cleanup(e);
+  }
+} while(m);
+
 .SH "RETURN VALUE"
 A pointer to a filled-in struct, or NULL if it failed or ran out of
 structs. It also writes the number of messages left in the queue (after this