diff options
author | Andrew Gregory <andrew.gregory.8@gmail.com> | 2017-12-16 12:41:11 -0500 |
---|---|---|
committer | Allan McRae <allan@archlinux.org> | 2018-01-06 12:59:32 +1000 |
commit | 59bb21fce369e6453e00791cbb788e502e4039e9 (patch) | |
tree | cb1f006fc94e653464314dc678b0ffc6592d8dc4 /lib/libalpm/be_sync.c | |
parent | d0981d4c5b59d724d9b7989b1083c2c0e9f839b2 (diff) | |
download | pacman-59bb21fce369e6453e00791cbb788e502e4039e9.tar.xz |
dload: ensure callback is always initialized once
Frontends rely on an initialization call for setup between downloads.
Checking for intialization after checking for a completed download can
skip initialization in cases where files are small enough to be
downloaded all at once (FS#56408). Relying on previous download size
can result in multiple initializations if there are multiple
non-transfer events prior to the download starting (fS#56468).
Introduce a new cb_initialized variable to the payload struct and use it
to ensure that the callback is initialized exactly once prior to any
actual events.
Fixes FS#56408, FS#56468
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com>
Signed-off-by: Allan McRae <allan@archlinux.org>
Diffstat (limited to 'lib/libalpm/be_sync.c')
0 files changed, 0 insertions, 0 deletions