diff options
author | Daniel Hartwig <mandyke@gmail.com> | 2012-04-28 00:01:46 +0800 |
---|---|---|
committer | Daniel Hartwig <mandyke@gmail.com> | 2012-04-28 00:01:46 +0800 |
commit | b049f533933f6dbff8fefd68df54a27ef8192170 (patch) | |
tree | 42041918fcb434eb0ac947eeb743c62f48ab1c05 /src | |
parent | 3018e1e9f5ad76dfb787808ef2d57cb7826eca03 (diff) | |
download | aptitude-b049f533933f6dbff8fefd68df54a27ef8192170.tar.gz |
Hold lists lock with pkgAcquire instead
Previous code did not hold it for the full download.
Closes: #653479
Diffstat (limited to 'src')
-rw-r--r-- | src/generic/apt/download_update_manager.cc | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/src/generic/apt/download_update_manager.cc b/src/generic/apt/download_update_manager.cc index d9a9844d..448edcbf 100644 --- a/src/generic/apt/download_update_manager.cc +++ b/src/generic/apt/download_update_manager.cc @@ -74,22 +74,9 @@ bool download_update_manager::prepare(OpProgress &progress, if(_error->PendingError()) return false; - // Lock the list directory - FileFd lock; - if(aptcfg->FindB("Debug::NoLocking", false) == false) - { - lock.Fd(GetLock(aptcfg->FindDir("Dir::State::Lists")+"lock")); - if(_error->PendingError() == true) - { - _error->Error(_("Couldn't lock list directory..are you root?")); - return false; - } - } - fetcher = new pkgAcquire(); - fetcher->Setup(&acqlog); - - if(!src_list.GetIndexes(fetcher)) + if(fetcher->Setup(&acqlog, aptcfg->FindDir("Dir::State::Lists")) == false || + src_list.GetIndexes(fetcher) == false) { delete fetcher; fetcher = NULL; |