]> granicus.if.org Git - curl/commitdiff
examples: add curl_multi_timeout
authorConstantine Sapuntzakis <csapuntz@gmail.com>
Tue, 13 Jul 2010 22:32:53 +0000 (00:32 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 13 Jul 2010 22:32:53 +0000 (00:32 +0200)
Make the multi-interface using examples use curl_multi_timeout to
properly educate users how to do things.

docs/examples/fopen.c
docs/examples/multi-app.c
docs/examples/multi-debugcallback.c
docs/examples/multi-double.c
docs/examples/multi-post.c
docs/examples/multi-single.c

index 35e24b11f6826579384954a19eb44e2f51c4196f..f21526b293ff67d970c46aca6ee792bdc985b5b3 100644 (file)
@@ -144,6 +144,8 @@ fill_buffer(URL_FILE *file,int want,int waittime)
     do
     {
         int maxfd = -1;
+        long curl_timeo = -1;
+
         FD_ZERO(&fdread);
         FD_ZERO(&fdwrite);
         FD_ZERO(&fdexcep);
@@ -152,6 +154,15 @@ fill_buffer(URL_FILE *file,int want,int waittime)
         timeout.tv_sec = 60; /* 1 minute */
         timeout.tv_usec = 0;
 
+        curl_multi_timeout(multi_handle, &curl_timeo);
+        if(curl_timeo >= 0) {
+          timeout.tv_sec = curl_timeo / 1000;
+          if(timeout.tv_sec > 1)
+            timeout.tv_sec = 1;
+          else
+            timeout.tv_usec = (curl_timeo % 1000) * 1000;
+        }
+
         /* get file descriptors from the transfers */
         curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
index 38b50cd0d3e520ca0599921966c0ed082bbaf507..bcc9f393acf85c5418cefe4b45683f1af1fbd554 100644 (file)
@@ -68,6 +68,8 @@ int main(int argc, char **argv)
     fd_set fdexcep;
     int maxfd = -1;
 
+    long curl_timeo = -1;
+
     FD_ZERO(&fdread);
     FD_ZERO(&fdwrite);
     FD_ZERO(&fdexcep);
@@ -76,6 +78,15 @@ int main(int argc, char **argv)
     timeout.tv_sec = 1;
     timeout.tv_usec = 0;
 
+    curl_multi_timeout(multi_handle, &curl_timeo);
+    if(curl_timeo >= 0) {
+      timeout.tv_sec = curl_timeo / 1000;
+      if(timeout.tv_sec > 1)
+        timeout.tv_sec = 1;
+      else
+        timeout.tv_usec = (curl_timeo % 1000) * 1000;
+    }
+
     /* get file descriptors from the transfers */
     curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
index 8e964c67b115177e1446299b963bdba7ce91fab4..fa90bbc483d9cdc785a84308d8c5dcd1dccefe9d 100644 (file)
@@ -142,6 +142,8 @@ int main(int argc, char **argv)
     fd_set fdexcep;
     int maxfd = -1;
 
+    long curl_timeo = -1;
+
     FD_ZERO(&fdread);
     FD_ZERO(&fdwrite);
     FD_ZERO(&fdexcep);
@@ -150,6 +152,15 @@ int main(int argc, char **argv)
     timeout.tv_sec = 1;
     timeout.tv_usec = 0;
 
+    curl_multi_timeout(multi_handle, &curl_timeo);
+    if(curl_timeo >= 0) {
+      timeout.tv_sec = curl_timeo / 1000;
+      if(timeout.tv_sec > 1)
+        timeout.tv_sec = 1;
+      else
+        timeout.tv_usec = (curl_timeo % 1000) * 1000;
+    }
+
     /* get file descriptors from the transfers */
     curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
index bc5b446eab0884fee85f3a06231dfb2c55789de1..8ac939a968bb11daa2841b38811ff772dfa38671 100644 (file)
@@ -59,6 +59,8 @@ int main(int argc, char **argv)
     fd_set fdexcep;
     int maxfd = -1;
 
+    long curl_timeo = -1;
+
     FD_ZERO(&fdread);
     FD_ZERO(&fdwrite);
     FD_ZERO(&fdexcep);
@@ -67,6 +69,15 @@ int main(int argc, char **argv)
     timeout.tv_sec = 1;
     timeout.tv_usec = 0;
 
+    curl_multi_timeout(multi_handle, &curl_timeo);
+    if(curl_timeo >= 0) {
+      timeout.tv_sec = curl_timeo / 1000;
+      if(timeout.tv_sec > 1)
+        timeout.tv_sec = 1;
+      else
+        timeout.tv_usec = (curl_timeo % 1000) * 1000;
+    }
+
     /* get file descriptors from the transfers */
     curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
index 0d3f78e5e1fee6e2e69468aba2cb067858d1f0db..df574ae7264d76ba40b014ab646905cfe4190f38 100644 (file)
@@ -79,6 +79,8 @@ int main(int argc, char *argv[])
       fd_set fdexcep;
       int maxfd = -1;
 
+      long curl_timeo = -1;
+
       FD_ZERO(&fdread);
       FD_ZERO(&fdwrite);
       FD_ZERO(&fdexcep);
@@ -87,6 +89,15 @@ int main(int argc, char *argv[])
       timeout.tv_sec = 1;
       timeout.tv_usec = 0;
 
+      curl_multi_timeout(multi_handle, &curl_timeo);
+      if(curl_timeo >= 0) {
+        timeout.tv_sec = curl_timeo / 1000;
+        if(timeout.tv_sec > 1)
+          timeout.tv_sec = 1;
+        else
+          timeout.tv_usec = (curl_timeo % 1000) * 1000;
+      }
+
       /* get file descriptors from the transfers */
       curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);
 
index cba4f32ccdc5b3aa738af941fce3c93f8d403163..d3f9cfde00da5069eafd6faedec4bf15e2b1fe4c 100644 (file)
@@ -53,6 +53,8 @@ int main(int argc, char **argv)
     fd_set fdexcep;
     int maxfd = -1;
 
+    long curl_timeo = -1;
+
     FD_ZERO(&fdread);
     FD_ZERO(&fdwrite);
     FD_ZERO(&fdexcep);
@@ -61,6 +63,15 @@ int main(int argc, char **argv)
     timeout.tv_sec = 1;
     timeout.tv_usec = 0;
 
+    curl_multi_timeout(multi_handle, &curl_timeo);
+    if(curl_timeo >= 0) {
+      timeout.tv_sec = curl_timeo / 1000;
+      if(timeout.tv_sec > 1)
+        timeout.tv_sec = 1;
+      else
+        timeout.tv_usec = (curl_timeo % 1000) * 1000;
+    }
+
     /* get file descriptors from the transfers */
     curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd);