curl_multi_fdset
curl_multi_fdset(3) libcurl Manual curl_multi_fdset(3)
NAME
curl_multi_fdset - extracts file descriptor information from a multi
handle
SYNOPSIS
#include <curl/curl.h>
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);
DESCRIPTION
This function extracts file descriptor information from a given
multi_handle. libcurl returns its fd_set sets. The application can
use these to select() on. The curl_multi_perform(3) function should be
called as soon as one of them are ready to be read from or written to.
NOTE that once this call is made, you must not remove the sets you
point to, as libcurl will need to be able to read them. It needs them
after select() calls, to know if certain sockets are readable or
writable.
You should also be aware that when doing select(), you should consider
using a rather small (single-digit number of seconds) timeout and call
curl_multi_perform regularly - even if no activity has been seen on
the fd_sets - as otherwise libcurl-internal retries and timeouts may
not work as you’d think.
RETURN VALUE
CURLMcode type, general libcurl multi interface error code. See
libcurl-errors(3)
SEE ALSO
curl_multi_cleanup(3),curl_multi_init(3)
libcurl 7.9.5 15 Apr 2004 curl_multi_fdset(3)