curl_multi_socket_all.md (1624B)
1 --- 2 c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 3 SPDX-License-Identifier: curl 4 Title: curl_multi_socket_all 5 Section: 3 6 Source: libcurl 7 See-also: 8 - curl_multi_cleanup (3) 9 - curl_multi_fdset (3) 10 - curl_multi_info_read (3) 11 - curl_multi_init (3) 12 - the hiperfifo.c example 13 Protocol: 14 - All 15 Added-in: 7.15.4 16 --- 17 18 # NAME 19 20 curl_multi_socket_all - reads/writes available data for all easy handles 21 22 # SYNOPSIS 23 24 ~~~c 25 #include <curl/curl.h> 26 27 CURLMcode curl_multi_socket_all(CURLM *multi_handle, 28 int *running_handles); 29 ~~~ 30 31 # DESCRIPTION 32 33 This function is deprecated for performance reasons but there are no plans to 34 remove it from the API. Use curl_multi_socket_action(3) instead. 35 36 At return, the integer **running_handles** points to contains the number of 37 still running easy handles within the multi handle. When this number reaches 38 zero, all transfers are complete/done. 39 40 Force libcurl to (re-)check all its internal sockets and transfers instead of 41 just a single one by calling curl_multi_socket_all(3). Note that there should 42 not be any reason to use this function. 43 44 # %PROTOCOLS% 45 46 # EXAMPLE 47 48 ~~~c 49 int main(void) 50 { 51 int running; 52 int rc; 53 CURLM *multi = curl_multi_init(); 54 55 rc = curl_multi_socket_all(multi, &running); 56 } 57 ~~~ 58 59 # %AVAILABILITY% 60 61 # RETURN VALUE 62 63 This function returns a CURLMcode indicating success or error. 64 65 CURLM_OK (0) means everything was OK, non-zero means an error occurred, see 66 libcurl-errors(3). 67 68 The return code is for the whole multi stack. Problems still might have 69 occurred on individual transfers even when one of these functions return OK.