On 10/09/18 at 06:29pm, Olivier Brunel wrote: > Upon receiving SIGINT a flag is set to abort the (curl) download. > However, since it was never reset/initialized, if a front-end doesn't > actually exit on SIGINT, and later tries any operation that needs to > perform a new download, said download would always get aborted right > away due to the flag not having been reset. > > Signed-off-by: Olivier Brunel <j...@jjacky.com> > --- > lib/libalpm/dload.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c > index cca39470..0a3293cf 100644 > --- a/lib/libalpm/dload.c > +++ b/lib/libalpm/dload.c > @@ -253,6 +253,7 @@ static void curl_set_handle_opts(struct dload_payload > *payload, > const char *useragent = getenv("HTTP_USER_AGENT"); > struct stat st; > > + dload_interrupted = 0;
I think set_handle_opts is the wrong place to reset it since it is in fact not a handle option. Let's put it right before the signal handlers are registered to keep signal-related things together. > /* the curl_easy handle is initialized with the alpm handle, so we only > need > * to reset the handle's parameters for each time it's used. */ > curl_easy_reset(curl); > -- > 2.19.0