From b234a610a3818af69952bf85c389588a99b4349f Mon Sep 17 00:00:00 2001 From: David Kalnischkies Date: Thu, 19 Jan 2017 01:09:05 +0100 Subject: don't lock dpkg in update commands The update command acquires a lock on lists/, but at the end it will also require the dpkg/lock while building the binary caches. That seems rather pointless as we are only reading those files, not causing writing in them. This can also cause problems if a package installation is running and a background process (like cron) starts an update: If you are "lucky" enough the update process will pick the dpkg lock in between apt calls causing the installation process to fail. (cherry picked from commit 0d9081598afa051409b03dbdbe5025cd7ce59ba4) --- apt-private/private-update.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apt-private/private-update.cc b/apt-private/private-update.cc index b63b7d963..a886c830f 100644 --- a/apt-private/private-update.cc +++ b/apt-private/private-update.cc @@ -76,14 +76,14 @@ bool DoUpdate(CommandLine &CmdL) // Rebuild the cache. pkgCacheFile::RemoveCaches(); - if (Cache.BuildCaches() == false) + if (Cache.BuildCaches(false) == false) return false; // show basic stats (if the user whishes) if (_config->FindB("APT::Cmd::Show-Update-Stats", false) == true) { int upgradable = 0; - if (Cache.Open() == false) + if (Cache.Open(false) == false) return false; for (pkgCache::PkgIterator I = Cache->PkgBegin(); I.end() != true; ++I) { -- cgit v1.2.3