summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Kalnischkies <david@kalnischkies.de>2017-01-19 01:09:05 +0100
committerDavid Kalnischkies <david@kalnischkies.de>2017-01-19 01:09:05 +0100
commit0d9081598afa051409b03dbdbe5025cd7ce59ba4 (patch)
tree17b292aebc9e449e7c53740fd48b4319fb7ef0df
parent22acd327ac39ffe3bb14b3e1f2d1f21761de13ca (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.
-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)
{