curl_multi_timeout.3 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. .\" $Id$
  2. .\"
  3. .TH curl_multi_timeout 3 "2 Jan 2006" "libcurl 7.16.0" "libcurl Manual"
  4. .SH NAME
  5. curl_multi_timeout \- how long to wait for action before proceeding
  6. .SH SYNOPSIS
  7. #include <curl/curl.h>
  8. CURLMcode curl_multi_timeout(CURLM *multi_handle, long *timeout);
  9. .SH DESCRIPTION
  10. An application using the libcurl multi interface should call
  11. \fBcurl_multi_timeout(3)\fP to figure out how long it should wait for socket
  12. actions \- at most \- before proceeding.
  13. Proceeding means either doing the socket-style timeout action: call the
  14. \fBcurl_multi_socket_action(3)\fP function with the \fBsockfd\fP argument set
  15. to CURL_SOCKET_TIMEOUT, or call \fBcurl_multi_perform(3)\fP if you're using
  16. the simpler and older multi interface approach.
  17. The timeout value returned in the long \fBtimeout\fP points to, is in number
  18. of milliseconds at this very moment. If 0, it means you should proceed
  19. immediately without waiting for anything. If it returns -1, there's no timeout
  20. at all set.
  21. Note: if libcurl returns a -1 timeout here, it just means that libcurl
  22. currently has no stored timeout value. You must not wait too long (more than a
  23. few seconds perhaps) before you call curl_multi_perform() again.
  24. .SH "RETURN VALUE"
  25. The standard CURLMcode for multi interface error codes.
  26. .SH "TYPICAL USAGE"
  27. Call \fBcurl_multi_timeout(3)\fP, then wait for action on the sockets. You
  28. figure out which sockets to wait for by calling \fBcurl_multi_fdset(3)\fP or
  29. by a previous call to \fBcurl_multi_socket(3)\fP.
  30. .SH AVAILABILITY
  31. This function was added in libcurl 7.15.4.
  32. .SH "SEE ALSO"
  33. .BR curl_multi_cleanup "(3), " curl_multi_init "(3), "
  34. .BR curl_multi_fdset "(3), " curl_multi_info_read "(3), "
  35. .BR curl_multi_socket "(3) "