[pacman-dev] [PATCH] Add configuration options for libcurl's "low speed" timeout
Andrew Hills
ahills at ednos.net
Wed Mar 26 15:27:34 EDT 2014
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.
>> +/** 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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 947 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.archlinux.org/pipermail/pacman-dev/attachments/20140326/459ad460/attachment-0001.asc>
More information about the pacman-dev
mailing list