📄 curl_multi_perform.3
字号:
.\" $Id: curl_multi_perform.3,v 1.8 2006-09-21 11:09:54 bagder Exp $.\".TH curl_multi_perform 3 "1 March 2002" "libcurl 7.9.5" "libcurl Manual".SH NAMEcurl_multi_perform - reads/writes available data from each easy handle.SH SYNOPSIS#include <curl/curl.h>CURLMcode curl_multi_perform(CURLM *multi_handle, int *running_handles);.ad.SH DESCRIPTIONWhen the app thinks there's data available for the multi_handle, it shouldcall this function to read/write whatever there is to read or write rightnow. curl_multi_perform() returns as soon as the reads/writes are done. Thisfunction does not require that there actually is any data available forreading or that data can be written, it can be called just in case. It willwrite the number of handles that still transfer data in the second argument'sinteger-pointer.When you call curl_multi_perform() and the amount of \fIrunning_handles\fP ischanged from the previous call (or is less than the amount of easy handlesyou've added to the multi handle), you know that there is one or moretransfers less "running". You can then call \fIcurl_multi_info_read(3)\fP toget information about each individual completed transfer, and that returnedinfo includes CURLcode and more..SH "RETURN VALUE"CURLMcode type, general libcurl multi interface error code.If you receive \fICURLM_CALL_MULTI_PERFORM\fP, this basically means that youshould call \fIcurl_multi_perform\fP again, before you select() on moreactions. You don't have to do it immediately, but the return code means thatlibcurl may have more data available to return or that there may be more datato send off before it is "satisfied". Do note that \fIcurl_multi_perform(3)\fPwill return \fICURLM_CALL_MULTI_PERFORM\fP only when it wants to be calledagain \fBimmediately\fP. When things are fine and there are nothing immediateit wants done, it'll return \fICURLM_OK\fP and you need to wait for \&"action"and then call this function again.NOTE that this only returns errors etc regarding the whole multi stack. Theremight still have occurred problems on individual transfers even when thisfunction returns \fICURLM_OK\fP..SH "TYPICAL USAGE"Most applications will use \fIcurl_multi_fdset(3)\fP to get the multi_handle'sfile descriptors, then it'll wait for action on them using \fBselect(3)\fP andas soon as one or more of them are ready, \fIcurl_multi_perform(3)\fP getscalled..SH "SEE ALSO".BR curl_multi_cleanup "(3), " curl_multi_init "(3), ".BR curl_multi_fdset "(3), " curl_multi_info_read "(3), ".BR libcurl-errors "(3)"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -