Hi all, attached is a modification of the curl_multi_fdset manpage to make it clear that newly created easy handles added to their multi handle needs to call curl_multi_perform prior to calling curl_multi_fdset if they want to get an up-to-date result. Comments on this change are more than welcome.
Best regards, Julien
diff --git a/docs/libcurl/curl_multi_fdset.3 b/docs/libcurl/curl_multi_fdset.3 index 6b0a990..4fcf9fc 100644 --- a/docs/libcurl/curl_multi_fdset.3 +++ b/docs/libcurl/curl_multi_fdset.3 @@ -25,6 +25,11 @@ If no file descriptors are set by libcurl, \fImax_fd\fP will contain -1 when this function returns. Otherwise it will contain the higher descriptor number libcurl set. +\fIWARNING:\fP New easy handles added with \fIcurl_multi_add_handle\fI do not +have a file descriptor (and thus \fImax_fd\fP will not take them into account), +the solution in this case is to call \fIcurl_multi_perform\fP until it does not +return CURLM_CALL_MULTI_PERFORM. + You should also be aware that when doing select(), you should consider using a rather small (single-digit number of seconds) timeout and call \fIcurl_multi_perform\fP regularly - even if no activity has been seen on the @@ -37,5 +42,5 @@ figure out how long to wait for action. CURLMcode type, general libcurl multi interface error code. See \fIlibcurl-errors(3)\fP .SH "SEE ALSO" -.BR curl_multi_cleanup "(3)," curl_multi_init "(3), " -.BR curl_multi_timeout "(3) " +.BR curl_multi_cleanup "(3), " curl_multi_init "(3), " +.BR curl_multi_timeout "(3), " curl_multi_perform "(3) "
------------------------------------------------------------------- List admin: http://cool.haxx.se/list/listinfo/curl-library Etiquette: http://curl.haxx.se/mail/etiquette.html
