[pacman-dev] [PATCH] Add configuration options for libcurl's "low speed" timeout

Dave Reisner d at falconindy.com
Wed Mar 26 15:31:06 EDT 2014


On Wed, Mar 26, 2014 at 03:27:34PM -0400, Andrew Hills wrote:
> On 3/26/14, 2:07 PM, Dave Reisner wrote:
> > What do you plan to set these values to in your environment? Why
> > shouldn't we just adjust these to be more lax?
> 
> I set the low speed limit to zero and disable the check completely,
> because of the ridiculous firewall. I don't really understand the reason
> libcurl even has these options, but obviously someone thought it was a
> good reason to keep this functionality in pacman, so I opted to add the
> configuration options to pacman.conf instead. Possibly someone has
> intermittent problems with certain mirrors and this allows them to fall
> back to the next mirror. I have the privilege of an excellent connection
> and have never observed such an issue. The patch for simply disabling it
> is much simpler; simply change lib/libalpm/dload.c:297's "1L" to "0L",
> and erase the line following.

The low speed limit exists as a way of cancelling a download when the
network goes away. Do you have an alternate suggestion?

> >> +/** Returns the libcurl low speed limit. */
> >> +long alpm_option_get_lowspeedlimit(alpm_handle_t *handle);
> >> +/** Sets the libcurl low speed limit. */
> >> +int alpm_option_set_lowspeedlimit(alpm_handle_t *handle, long
> >> lowspeedlimit);
> > 
> > What is this measured in ? bytes? megabytes? mebibytes?
> > 
> >> +
> >> +/** Returns the libcurl low speed time. */
> >> +long alpm_option_get_lowspeedtime(alpm_handle_t *handle);
> >> +/** Sets the libcurl low speed time. */
> >> +int alpm_option_set_lowspeedtime(alpm_handle_t *handle, long lowspeedtime);
> >> +
> > 
> > seconds? milliseconds? hours?
> 
> Bytes per second and seconds. These were noted in the pacman.conf
> documentation, but I forgot to add them here. I'll update it and submit
> a revised patch for your consideration.
> 
> >> @@ -690,6 +711,9 @@ static int setup_libalpm(void)
> >>  	alpm_option_set_questioncb(handle, cb_question);
> >>  	alpm_option_set_progresscb(handle, cb_progress);
> >>
> >> +  handle->lowspeedlimit = config->lowspeedlimit;
> >> +  handle->lowspeedtime = config->lowspeedtime;
> >> +
> > 
> > Not sure how this compiles -- the internals of the handle aren't visible
> > from the frontend code. You need to use the setter methods you added.
> 
> It was by adding the #include <handle.h>, but I will adjust it as
> described here.
> 
> Thanks for the comments,
> Andrew
> 



> 



More information about the pacman-dev mailing list