diff options
Diffstat (limited to 'multi/single.c')
-rw-r--r-- | multi/single.c | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/multi/single.c b/multi/single.c deleted file mode 100644 index d17e03396..000000000 --- a/multi/single.c +++ /dev/null @@ -1,80 +0,0 @@ -/* - * This is a very simple example using the multi interface. - */ - -#include <stdio.h> -#include <string.h> - -/* somewhat unix-specific */ -#include <sys/time.h> -#include <unistd.h> - -/* To start with, we include the header from the lib directory. This should - later of course be moved to the proper include dir. */ -#include "../lib/multi.h" - -/* - * Simply download a HTTP file. - */ -int main(int argc, char **argv) -{ - CURL *http_handle; - CURLM *multi_handle; - - int still_running; /* keep number of running handles */ - - http_handle = curl_easy_init(); - - /* set the options (I left out a few, you'll get the point anyway) */ - curl_easy_setopt(http_handle, CURLOPT_URL, "http://www.haxx.se/"); - - /* init a multi stack */ - multi_handle = curl_multi_init(); - - /* add the individual transfers */ - curl_multi_add_handle(multi_handle, http_handle); - - /* we start some action by calling perform right away */ - while(CURLM_CALL_MULTI_PERFORM == - curl_multi_perform(multi_handle, &still_running)); - - while(still_running) { - struct timeval timeout; - int rc; /* select() return code */ - - fd_set fdread; - fd_set fdwrite; - fd_set fdexcep; - int maxfd; - - FD_ZERO(&fdread); - FD_ZERO(&fdwrite); - FD_ZERO(&fdexcep); - - /* set a suitable timeout to play around with */ - timeout.tv_sec = 1; - timeout.tv_usec = 0; - - /* get file descriptors from the transfers */ - curl_multi_fdset(multi_handle, &fdread, &fdwrite, &fdexcep, &maxfd); - - rc = select(maxfd+1, &fdread, &fdwrite, &fdexcep, &timeout); - - switch(rc) { - case -1: - /* select error */ - break; - case 0: - default: - /* timeout or readable/writable sockets */ - curl_multi_perform(multi_handle, &still_running); - break; - } - } - - curl_multi_cleanup(multi_handle); - - curl_easy_cleanup(http_handle); - - return 0; -} |