#
b1616dad |
| 31-Jul-2019 |
Daniel Stenberg |
timediff: make it 64 bit (if possible) even with 32 bit time_t ... to make it hold microseconds too. Fixes #4165 Closes #4168
|
Revision tags: curl-7_65_3, curl-7_65_2 |
|
#
11d7fe11 |
| 10-Jul-2019 |
Daniel Gustafsson |
headers: Remove no longer exported functions There were a leftover few prototypes of Curl_ functions that we used to export but no longer do, this removes those prototypes and cleans up
headers: Remove no longer exported functions There were a leftover few prototypes of Curl_ functions that we used to export but no longer do, this removes those prototypes and cleans up any comments still referring to them. Curl_write32_le(), Curl_strcpy_url(), Curl_strlen_url(), Curl_up_free() Curl_concat_url(), Curl_detach_connnection(), Curl_http_setup_conn() were made static in 05b100aee247bb9bec8e9a1b0166496aa4248d1c. Curl_http_perhapsrewind() made static in 574aecee208f79d391f10d57520b3. For the remainder, I didn't trawl the Git logs hard enough to capture their exact time of deletion, but they were all gone: Curl_splayprint(), Curl_http2_send_request(), Curl_global_host_cache_dtor(), Curl_scan_cache_used(), Curl_hostcache_destroy(), Curl_second_connect(), Curl_http_auth_stage() and Curl_close_connections(). Closes #4096 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
show more ...
|
#
680f1413 |
| 08-Jun-2019 |
Daniel Stenberg |
unpause: trigger a timeout for event-based transfers ... so that timeouts or other state machine actions get going again after a changing pause state. For example, if the last delivery w
unpause: trigger a timeout for event-based transfers ... so that timeouts or other state machine actions get going again after a changing pause state. For example, if the last delivery was paused there's no pending socket activity. Reported-by: sstruchtrup on github Fixes #3994 Closes #4001
show more ...
|
Revision tags: curl-7_65_1, curl-7_65_0 |
|
#
5c9487a3 |
| 01-May-2019 |
Daniel Stenberg |
multiif.h: remove unused protos ... for functions related to pipelining. Those functions were removed in 2f44e94efb3df. Closes #3828
|
#
be6e281c |
| 30-Apr-2019 |
Daniel Stenberg |
multi: provide Curl_multiuse_state to update information As soon as a TLS backend gets ALPN conformation about the specific HTTP version it can now set the multiplex situation for the "b
multi: provide Curl_multiuse_state to update information As soon as a TLS backend gets ALPN conformation about the specific HTTP version it can now set the multiplex situation for the "bundle" and trigger moving potentially queued up transfers to the CONNECT state.
show more ...
|
#
2f44e94e |
| 05-Apr-2019 |
Daniel Stenberg |
pipelining: removed As previously planned and documented in DEPRECATE.md, all pipelining code is removed. Closes #3651
|
Revision tags: curl-7_64_1, curl-7_64_0 |
|
#
ba243235 |
| 02-Jan-2019 |
Daniel Stenberg |
urldata: rename easy_conn to just conn We use "conn" everywhere to be a pointer to the connection. Introduces two functions that "attaches" and "detaches" the connection to and
urldata: rename easy_conn to just conn We use "conn" everywhere to be a pointer to the connection. Introduces two functions that "attaches" and "detaches" the connection to and from the transfer. Going forward, we should favour using "data->conn" (since a transfer always only has a single connection or none at all) to "conn->data" (since a connection can have none, one or many transfers associated with it and updating conn->data to be correct is error prone and a frequent reason for internal issues). Closes #3442
show more ...
|
Revision tags: curl-7_63_0 |
|
#
34fe0e16 |
| 24-Nov-2018 |
Daniel Stenberg |
curl_easy_perform: fix timeout handling curl_multi_wait() was erroneously used from within curl_easy_perform(). It could lead to it believing there was no socket to wait for and then
curl_easy_perform: fix timeout handling curl_multi_wait() was erroneously used from within curl_easy_perform(). It could lead to it believing there was no socket to wait for and then instead sleep for a while instead of monitoring the socket and then miss acting on that activity as swiftly as it should (causing an up to 1000 ms delay). Reported-by: Antoni Villalonga Fixes #3305 Closes #3306 Closes #3308
show more ...
|
#
6765e6d9 |
| 05-Nov-2018 |
Romain Fliedel |
ares: remove fd from multi fd set when ares is about to close the fd When using c-ares for asyn dns, the dns socket fd was silently closed by c-ares without curl being aware. curl would
ares: remove fd from multi fd set when ares is about to close the fd When using c-ares for asyn dns, the dns socket fd was silently closed by c-ares without curl being aware. curl would then 'realize' the fd has been removed at next call of Curl_resolver_getsock, and only then notify the CURLMOPT_SOCKETFUNCTION to remove fd from its poll set with CURL_POLL_REMOVE. At this point the fd is already closed. By using ares socket state callback (ARES_OPT_SOCK_STATE_CB), this patch allows curl to be notified that the fd is not longer needed for neither for write nor read. At this point by calling Curl_multi_closed we are able to notify multi with CURL_POLL_REMOVE before the fd is actually closed by ares. In asyn-ares.c Curl_resolver_duphandle we can't use ares_dup anymore since it does not allow passing a different sock_state_cb_data Closes #3238
show more ...
|
Revision tags: curl-7_62_0, curl-7_61_1, curl-7_61_0, curl-7_60_0 |
|
#
7f9ce085 |
| 13-Mar-2018 |
Daniel Stenberg |
multi: improved pending transfers handling => improved performance When a transfer is requested to get done and it is put in the pending queue when limited by number of connections, tota
multi: improved pending transfers handling => improved performance When a transfer is requested to get done and it is put in the pending queue when limited by number of connections, total or per-host, libcurl would previously very aggressively retry *ALL* pending transfers to get them transferring. That was very time consuming. By reducing the aggressiveness in how pending are being retried, we waste MUCH less time on putting transfers back into pending again. Some test cases got a factor 30(!) speed improvement with this change. Reported-by: Cyril B Fixes #2369 Closes #2383
show more ...
|
#
2404aa08 |
| 16-Mar-2018 |
Daniel Stenberg |
pause: when changing pause state, update socket state Especially unpausing a transfer might have to move the socket back to the "currently used sockets" hash to get monitored. Otherwise
pause: when changing pause state, update socket state Especially unpausing a transfer might have to move the socket back to the "currently used sockets" hash to get monitored. Otherwise it would never get any more data and get stuck. Easily triggered with pausing using the multi_socket API. Reported-by: Philip Prindeville Bug: https://curl.haxx.se/mail/lib-2018-03/0048.html Fixes #2393 Closes #2391
show more ...
|
Revision tags: curl-7_59_0 |
|
#
b46cfbc0 |
| 10-Feb-2018 |
Björn Stenberg |
TODO fixed: Detect when called from within callbacks Closes #2302
|
Revision tags: curl-7_58_0, curl-7_57_0, curl-7_56_1, curl-7_56_0, curl-7_55_1, curl-7_55_0, curl-7_54_1 |
|
#
7fffe97b |
| 08-Jun-2017 |
Daniel Stenberg |
expire: remove Curl_expire_latest() With the introduction of expire IDs and the fact that existing timers can be removed now and thus never expire, the concept with adding a "latest"
expire: remove Curl_expire_latest() With the introduction of expire IDs and the fact that existing timers can be removed now and thus never expire, the concept with adding a "latest" timer is not working anymore as it risks to not expire at all. So, to be certain the timers actually are in line and will expire, the plain Curl_expire() needs to be used. The _latest() function was added as a sort of shortcut in the past that's quite simply not necessary anymore. Follow-up to 31b39c40cf90 Reported-by: Paul Harris Closes #1555
show more ...
|
#
31b39c40 |
| 09-May-2017 |
Daniel Stenberg |
multi: use a fixed array of timers instead of malloc ... since the total amount is low this is faster, easier and reduces memory overhead. Also, Curl_expire_done() can now mark
multi: use a fixed array of timers instead of malloc ... since the total amount is low this is faster, easier and reduces memory overhead. Also, Curl_expire_done() can now mark an expire timeout as done so that it never times out. Closes #1472
show more ...
|
#
e9fd794a |
| 09-May-2017 |
Daniel Stenberg |
multi: assign IDs to all timers and make each timer singleton A) reduces the timeout lists drastically B) prevents a lot of superfluous loops for timers that expires "in vain"
multi: assign IDs to all timers and make each timer singleton A) reduces the timeout lists drastically B) prevents a lot of superfluous loops for timers that expires "in vain" when it has actually already been extended to fire later on
show more ...
|
Revision tags: curl-7_54_0, curl-7_53_1, curl-7_53_0, curl-7_52_1, curl-7_52_0 |
|
#
21aa32d3 |
| 18-Nov-2016 |
Marcel Raad |
lib: fix compiler warnings after de4de4e3c7c Visual C++ now complains about implicitly casting time_t (64-bit) to long (32-bit). Fix this by changing some variables from long to time_t,
lib: fix compiler warnings after de4de4e3c7c Visual C++ now complains about implicitly casting time_t (64-bit) to long (32-bit). Fix this by changing some variables from long to time_t, or explicitly casting to long where the public interface would be affected. Closes #1131
show more ...
|
Revision tags: curl-7_51_0, curl-7_50_3, curl-7_50_2, curl-7_50_1 |
|
#
bde2f09d |
| 02-Aug-2016 |
Daniel Stenberg |
multi: make Curl_expire() work with 0 ms timeouts Previously, passing a timeout of zero to Curl_expire() was a magic code for clearing all timeouts for the handle. That is now instead ma
multi: make Curl_expire() work with 0 ms timeouts Previously, passing a timeout of zero to Curl_expire() was a magic code for clearing all timeouts for the handle. That is now instead made with the new Curl_expire_clear() function and thus a 0 timeout is fine to set and will trigger a timeout ASAP. This will help removing short delays, in particular notable when doing HTTP/2.
show more ...
|
Revision tags: curl-7_50_0 |
|
#
434f8d03 |
| 21-Jun-2016 |
Daniel Stenberg |
internals: rename the SessionHandle struct to Curl_easy
|
Revision tags: curl-7_49_1, curl-7_49_0, curl-7_48_0, curl-7_47_1 |
|
#
4af40b36 |
| 02-Feb-2016 |
Daniel Stenberg |
URLs: change all http:// URLs to https://
|
Revision tags: curl-7_47_0, curl-7_46_0, curl-7_45_0, curl-7_44_0, curl-7_43_0 |
|
#
feea9263 |
| 01-Jun-2015 |
Daniel Stenberg |
http2: setup the new pushed stream properly
|
#
72105ebf |
| 11-May-2015 |
Daniel Stenberg |
http2: set default concurrency, fix ConnectionExists for multiplex
|
#
38bd6bf0 |
| 18-May-2015 |
Daniel Stenberg |
bundles: store no/default/pipeline/multiplex to allow code to act differently on the situation. Also added some more info message for the connection re-use function to make it c
bundles: store no/default/pipeline/multiplex to allow code to act differently on the situation. Also added some more info message for the connection re-use function to make it clearer when connections are not re-used.
show more ...
|
#
02ec1ced |
| 08-May-2015 |
Daniel Stenberg |
CURLMOPT_PIPELINE: bit 1 is for multiplexing
|
Revision tags: curl-7_42_1, curl-7_42_0, curl-7_41_0, curl-7_40_0 |
|
#
29336986 |
| 14-Nov-2014 |
Jon Spencer |
multi: inform about closed sockets before they are closed When the connection code decides to close a socket it informs the multi system via the Curl_multi_closed function. The multi sys
multi: inform about closed sockets before they are closed When the connection code decides to close a socket it informs the multi system via the Curl_multi_closed function. The multi system may, in turn, invoke the CURLMOPT_SOCKETFUNCTION function with CURL_POLL_REMOVE. This happens after the socket has already been closed. Reorder the code so that CURL_POLL_REMOVE is called before the socket is closed.
show more ...
|
#
f64dbb08 |
| 10-Nov-2014 |
Daniel Stenberg |
multi: removed Curl_multi_set_easy_connection It isn't used anywhere! Reported-by: Carlo Wood
|