search for: curlm

Displaying 4 results from an estimated 4 matches for "curlm".

Did you mean: curl
2024 Apr 25
1
Big speedup in install.packages() by re-using connections
...============================================================ --- src/modules/internet/libcurl.c (revision 86484) +++ src/modules/internet/libcurl.c (working copy) @@ -55,6 +55,47 @@ static int current_timeout = 0; +// The multi-handle is shared between downloads for reusing connections +static CURLM *shared_mhnd = NULL; +static SEXP mhnd_sentinel = NULL; + +static void cleanup_mhnd(SEXP ignored) +{ + if(shared_mhnd){ + curl_multi_cleanup(shared_mhnd); + shared_mhnd = NULL; + } + curl_global_cleanup(); +} +static void rollback_mhnd_sentinel(void* sentinel) { + // Faile...
2024 Apr 25
1
Big speedup in install.packages() by re-using connections
I'd like to raise this again now that 4.4 is out. Below is a more complete patch which includes a function to properly cleanup libcurl when R quits. Implementing this is a little tricky because libcurl is a separate "module" in R, perhaps there is a better way, but this works: view: https://github.com/r-devel/r-svn/pull/166/files patch:
2024 Sep 02
1
Big speedup in install.packages() by re-using connections
...================= > --- src/modules/internet/libcurl.c (revision 86484) > +++ src/modules/internet/libcurl.c (working copy) > @@ -55,6 +55,47 @@ > > static int current_timeout = 0; > > +// The multi-handle is shared between downloads for reusing connections > +static CURLM *shared_mhnd = NULL; > +static SEXP mhnd_sentinel = NULL; > + > +static void cleanup_mhnd(SEXP ignored) > +{ > + if(shared_mhnd){ > + curl_multi_cleanup(shared_mhnd); > + shared_mhnd = NULL; > + } > + curl_global_cleanup(); > +} > +static void...
2018 Dec 04
3
patch to support custom HTTP headers in download.file() and url()
...err1 = GetLastError(), err2, blen = 101; InternetCloseHandle(wictxt->hand); diff --git a/src/modules/internet/libcurl.c b/src/modules/internet/libcurl.c index 669c7240ef..6bf01ef175 100644 --- a/src/modules/internet/libcurl.c +++ b/src/modules/internet/libcurl.c @@ -222,7 +222,6 @@ static int curlMultiCheckerrs(CURLM *mhnd) } return retval; } - static void curlCommon(CURL *hnd, int redirect, int verify) { const char *capath = getenv("CURL_CA_BUNDLE"); @@ -469,10 +468,10 @@ in_do_curlDownload(SEXP call, SEXP op, SEXP args, SEXP rho) error(_("download.file(...