summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Hartwig <mandyke@gmail.com>2012-04-28 00:01:46 +0800
committerDaniel Hartwig <mandyke@gmail.com>2012-04-28 00:01:46 +0800
commitb049f533933f6dbff8fefd68df54a27ef8192170 (patch)
tree42041918fcb434eb0ac947eeb743c62f48ab1c05 /src
parent3018e1e9f5ad76dfb787808ef2d57cb7826eca03 (diff)
downloadaptitude-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.cc17
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;