Annotation of embedaddon/curl/docs/libcurl/opts/CURLOPT_TIMEOUT.3, revision 1.1
1.1 ! misho 1: .\" **************************************************************************
! 2: .\" * _ _ ____ _
! 3: .\" * Project ___| | | | _ \| |
! 4: .\" * / __| | | | |_) | |
! 5: .\" * | (__| |_| | _ <| |___
! 6: .\" * \___|\___/|_| \_\_____|
! 7: .\" *
! 8: .\" * Copyright (C) 1998 - 2019, 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 3 "October 15, 2019" "libcurl 7.70.0" "curl_easy_setopt options"
! 24:
! 25: .SH NAME
! 26: CURLOPT_TIMEOUT \- 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, long timeout);
! 31: .SH DESCRIPTION
! 32: Pass a long as parameter containing \fItimeout\fP - the maximum time in
! 33: seconds that you allow the libcurl transfer operation to take. Normally, name
! 34: lookups can take a considerable time and limiting operations risk aborting
! 35: perfectly normal operations. This option may cause libcurl to use the SIGALRM
! 36: signal to timeout system calls.
! 37:
! 38: In unix-like systems, this might cause signals to be used unless
! 39: \fICURLOPT_NOSIGNAL(3)\fP is set.
! 40:
! 41: If both \fICURLOPT_TIMEOUT(3)\fP and \fICURLOPT_TIMEOUT_MS(3)\fP are set, the
! 42: value set last will be used.
! 43:
! 44: Since this option puts a hard limit on how long time a request is allowed to
! 45: take, it has limited use in dynamic use cases with varying transfer times. That
! 46: is especially apparent when using the multi interface, which may queue the
! 47: transfer, and that time is included. You are advised to explore
! 48: \fICURLOPT_LOW_SPEED_LIMIT(3)\fP, \fICURLOPT_LOW_SPEED_TIME(3)\fP or using
! 49: \fICURLOPT_PROGRESSFUNCTION(3)\fP to implement your own timeout logic.
! 50: .SH DEFAULT
! 51: Default timeout is 0 (zero) which means it never times out during transfer.
! 52: .SH PROTOCOLS
! 53: All
! 54: .SH EXAMPLE
! 55: .nf
! 56: CURL *curl = curl_easy_init();
! 57: if(curl) {
! 58: curl_easy_setopt(curl, CURLOPT_URL, "http://example.com");
! 59:
! 60: /* complete within 20 seconds */
! 61: curl_easy_setopt(curl, CURLOPT_TIMEOUT, 20L);
! 62:
! 63: curl_easy_perform(curl);
! 64: }
! 65: .fi
! 66: .SH AVAILABILITY
! 67: Always
! 68: .SH RETURN VALUE
! 69: Returns CURLE_OK. Returns CURLE_BAD_FUNCTION_ARGUMENT if set to a negative
! 70: value or a value that when converted to milliseconds is too large.
! 71: .SH "SEE ALSO"
! 72: .BR CURLOPT_TIMEOUT_MS "(3), "
! 73: .BR CURLOPT_CONNECTTIMEOUT "(3), " CURLOPT_LOW_SPEED_LIMIT "(3), "
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>