From b39a62f57551a2e23ceaa37b3fbc71a2273545e6 Mon Sep 17 00:00:00 2001 From: Olivier Brunel Date: Wed, 17 Oct 2018 17:11:01 +0200 Subject: 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 ffde85aadfe0e08fb710102d0a547335e9d1a200) --- lib/libalpm/dload.c | 1 + 1 file changed, 1 insertion(+) (limited to 'lib') diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 00993910..36ae4ee1 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -431,6 +431,7 @@ static int curl_download_internal(struct dload_payload *payload, /* Ignore any SIGPIPE signals. With libcurl, these shouldn't be happening, * but better safe than sorry. Store the old signal handler first. */ mask_signal(SIGPIPE, SIG_IGN, &orig_sig_pipe); + dload_interrupted = 0; mask_signal(SIGINT, &inthandler, &orig_sig_int); /* perform transfer */ -- cgit v1.2.3-24-g4f1b