Annotation of embedaddon/curl/docs/libcurl/opts/CURLOPT_TIMEOUT_MS.3, revision 1.1
1.1 ! misho 1: .\" **************************************************************************
! 2: .\" * _ _ ____ _
! 3: .\" * Project ___| | | | _ \| |
! 4: .\" * / __| | | | |_) | |
! 5: .\" * | (__| |_| | _ <| |___
! 6: .\" * \___|\___/|_| \_\_____|
! 7: .\" *
! 8: .\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
! 9: .\" *
! 10: .\" * This software is licensed as described in the file COPYING, which
! 11: .\" * you should have received as part of this distribution. The terms
! 12: .\" * are also available at https://curl.haxx.se/docs/copyright.html.
! 13: .\" *
! 14: .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
! 15: .\" * copies of the Software, and permit persons to whom the Software is
! 16: .\" * furnished to do so, under the terms of the COPYING file.
! 17: .\" *
! 18: .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
! 19: .\" * KIND, either express or implied.
! 20: .\" *
! 21: .\" **************************************************************************
! 22: .\"
! 23: .TH CURLOPT_TIMEOUT_MS 3 "March 23, 2020" "libcurl 7.70.0" "curl_easy_setopt options"
! 24:
! 25: .SH NAME
! 26: CURLOPT_TIMEOUT_MS \- set maximum time the request is allowed to take
! 27: .SH SYNOPSIS
! 28: #include <curl/curl.h>
! 29:
! 30: CURLcode curl_easy_setopt(CURL *handle, CURLOPT_TIMEOUT_MS, long timeout);
! 31: .SH DESCRIPTION
! 32: Pass a long as parameter containing \fItimeout\fP - the maximum time in
! 33: milliseconds that you allow the libcurl transfer operation to take. Normally,
! 34: name lookups can take a considerable time and limiting operations to less than
! 35: a few minutes risk aborting perfectly normal operations. This option may cause
! 36: libcurl to use the SIGALRM signal to timeout system calls.
! 37:
! 38: If libcurl is built to use the standard system name resolver, that portion of
! 39: the transfer will still use full-second resolution for timeouts with a minimum
! 40: timeout allowed of one second.
! 41:
! 42: In unix-like systems, this might cause signals to be used unless
! 43: \fICURLOPT_NOSIGNAL(3)\fP is set.
! 44:
! 45: If both \fICURLOPT_TIMEOUT(3)\fP and \fICURLOPT_TIMEOUT_MS(3)\fP are set, the
! 46: value set last will be used.
! 47:
! 48: Since this puts a hard limit for how long time a request is allowed to take,
! 49: it has limited use in dynamic use cases with varying transfer times. You are
! 50: then advised to explore \fICURLOPT_LOW_SPEED_LIMIT(3)\fP,
! 51: \fICURLOPT_LOW_SPEED_TIME(3)\fP or using \fICURLOPT_PROGRESSFUNCTION(3)\fP to
! 52: implement your own timeout logic.
! 53: .SH DEFAULT
! 54: Default timeout is 0 (zero) which means it never times out during transfer.
! 55: .SH PROTOCOLS
! 56: All
! 57: .SH EXAMPLE
! 58: .nf
! 59: CURL *curl = curl_easy_init();
! 60: if(curl) {
! 61: curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
! 62:
! 63: /* complete within 20000 milliseconds */
! 64: curl_easy_setopt(curl, CURLOPT_TIMEOUT_MS, 20000L);
! 65:
! 66: curl_easy_perform(curl);
! 67: }
! 68: .fi
! 69: .SH AVAILABILITY
! 70: Always
! 71: .SH RETURN VALUE
! 72: Returns CURLE_OK
! 73: .SH "SEE ALSO"
! 74: .BR CURLOPT_TIMEOUT "(3), "
! 75: .BR CURLOPT_CONNECTTIMEOUT "(3), " CURLOPT_LOW_SPEED_LIMIT "(3), "
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>