alpm: Fix SIGINT handling re: aborting download

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.

(cherry picked from commit ffde85aadf)
This commit is contained in:
Olivier Brunel 2018-10-17 17:11:01 +02:00 committed by Andrew Gregory
parent cad8fe2fbf
commit b39a62f575

View file

@ -431,6 +431,7 @@ static int curl_download_internal(struct dload_payload *payload,
/* Ignore any SIGPIPE signals. With libcurl, these shouldn't be happening, /* Ignore any SIGPIPE signals. With libcurl, these shouldn't be happening,
* but better safe than sorry. Store the old signal handler first. */ * but better safe than sorry. Store the old signal handler first. */
mask_signal(SIGPIPE, SIG_IGN, &orig_sig_pipe); mask_signal(SIGPIPE, SIG_IGN, &orig_sig_pipe);
dload_interrupted = 0;
mask_signal(SIGINT, &inthandler, &orig_sig_int); mask_signal(SIGINT, &inthandler, &orig_sig_int);
/* perform transfer */ /* perform transfer */