From b049f533933f6dbff8fefd68df54a27ef8192170 Mon Sep 17 00:00:00 2001 From: Daniel Hartwig Date: Sat, 28 Apr 2012 00:01:46 +0800 Subject: Hold lists lock with pkgAcquire instead Previous code did not hold it for the full download. Closes: #653479 --- src/generic/apt/download_update_manager.cc | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-) (limited to 'src') 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; -- cgit v1.2.3