libalpm: move tempdir cleanup into _alpm_download

this ensures the dir still gets cleaned up even if killed by a signal
This commit is contained in:
morganamilo 2025-05-23 20:03:14 +01:00 committed by Allan McRae
parent 5c451cd976
commit 45c4eef61d
3 changed files with 1 additions and 4 deletions

View file

@ -268,7 +268,6 @@ cleanup:
alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset); alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset);
FREELIST(payloads); FREELIST(payloads);
} }
_alpm_remove_temporary_download_dir(temporary_syncpath);
FREE(temporary_syncpath); FREE(temporary_syncpath);
FREE(syncpath); FREE(syncpath);
umask(oldmask); umask(oldmask);

View file

@ -1283,6 +1283,7 @@ download_signature:
} }
finalize_ret = finalize_download_locations(payloads, localpath); finalize_ret = finalize_download_locations(payloads, localpath);
_alpm_remove_temporary_download_dir(temporary_localpath);
/* propagate after finalizing so .part files get copied over */ /* propagate after finalizing so .part files get copied over */
if(childsig != 0) { if(childsig != 0) {
@ -1416,13 +1417,11 @@ int SYMEXPORT alpm_fetch_pkgurl(alpm_handle_t *handle, const alpm_list_t *urls,
FREELIST(payloads); FREELIST(payloads);
} }
_alpm_remove_temporary_download_dir(temporary_cachedir);
FREE(temporary_cachedir); FREE(temporary_cachedir);
return 0; return 0;
err: err:
alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset); alpm_list_free_inner(payloads, (alpm_list_fn_free)_alpm_dload_payload_reset);
_alpm_remove_temporary_download_dir(temporary_cachedir);
FREE(temporary_cachedir); FREE(temporary_cachedir);
FREELIST(payloads); FREELIST(payloads);
FREELIST(*fetched); FREELIST(*fetched);

View file

@ -882,7 +882,6 @@ finish:
pkg->infolevel &= ~INFRQ_DSIZE; pkg->infolevel &= ~INFRQ_DSIZE;
pkg->download_size = 0; pkg->download_size = 0;
} }
_alpm_remove_temporary_download_dir(temporary_cachedir);
FREE(temporary_cachedir); FREE(temporary_cachedir);
return ret; return ret;