diff options
author | David Kalnischkies <david@kalnischkies.de> | 2017-01-19 01:09:05 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2017-01-19 01:09:05 +0100 |
commit | 0d9081598afa051409b03dbdbe5025cd7ce59ba4 (patch) | |
tree | 17b292aebc9e449e7c53740fd48b4319fb7ef0df | |
parent | 22acd327ac39ffe3bb14b3e1f2d1f21761de13ca (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.cc | 4 |
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) { |