summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2017-01-19 01:09:05 +0100
committerJulian Andres Klode <jak@debian.org>2017-02-22 18:11:44 +0100
commit9a7b832fe25bab1753b15783ffc2982483bc45d7 (patch)
treea4f09f257c76cd50ff1f66d83ee2f29899b3553c
parent3078fe5a1854498c6cf22a902fb95370bf85fc6c (diff)
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) (cherry picked from commit b234a610a3818af69952bf85c389588a99b4349f)
-rw-r--r--apt-private/private-update.cc4
1 files 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)
{