39 #define MULTI_PERFORM_HANG_TIMEOUT 60 * 1000 46 now.
tv_sec = (long)time(NULL);
62 int still_running = 1;
91 while(still_running) {
100 long curl_timeo = -1;
112 if(curl_timeo >= 0) {
113 timeout.
tv_sec = curl_timeo / 1000;
117 timeout.
tv_usec = (curl_timeo % 1000) * 1000;
124 fprintf(stderr,
"curl_multi_fdset() failed, code %d.\n", mc);
140 struct timeval wait = { 0, 100 * 1000 };
141 rc = select(0, NULL, NULL, NULL, &wait);
147 rc = select(maxfd + 1, &fdread, &fdwrite, &fdexcep, &timeout);
152 "ABORTING: Since it seems that we would have run forever.\n");
CURL_EXTERN CURLMcode curl_multi_fdset(CURLM *multi_handle, fd_set *read_fd_set, fd_set *write_fd_set, fd_set *exc_fd_set, int *max_fd)
CURL_EXTERN CURLMcode curl_multi_add_handle(CURLM *multi_handle, CURL *curl_handle)
CURL_EXTERN CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles)
CURL_EXTERN CURLMcode curl_multi_timeout(CURLM *multi_handle, long *milliseconds)
static long tvdiff(struct timeval newer, struct timeval older)
#define curl_easy_setopt(handle, option, value)
CURL_EXTERN CURLM * curl_multi_init(void)
#define CURL_GLOBAL_DEFAULT
CURL_EXTERN CURL * curl_easy_init(void)
CURL_EXTERN void curl_easy_cleanup(CURL *curl)
CURL_EXTERN CURLMcode curl_multi_remove_handle(CURLM *multi_handle, CURL *curl_handle)
CURL_EXTERN CURLcode curl_global_init(long flags)
curl_global_init() globally initializes curl given a bitwise set of the different features of what to...
#define MULTI_PERFORM_HANG_TIMEOUT
CURL_EXTERN void curl_global_cleanup(void)
curl_global_cleanup() globally cleanups curl, uses the value of "init_flags" to determine what needs ...
static struct timeval tvnow(void)
CURL_EXTERN CURLMcode curl_multi_cleanup(CURLM *multi_handle)