summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-09-20 16:54:59 +0000
committerArch Librarian <arch@canonical.com>2004-09-20 16:54:59 +0000
commit1b6d659c38ff5fd44aa4bc22f28cfeae43e8f8f5 (patch)
tree47d40c6f3b2b30f4aa2c79b543621a8dc86da9fe
parentdd57cc0575d443c1cf302c948e6368a17a0a4d7a (diff)
Fixed locking of archives dir
Author: jgg Date: 1999-10-24 06:03:48 GMT Fixed locking of archives dir
-rw-r--r--cmdline/apt-get.cc20
-rw-r--r--debian/changelog2
2 files changed, 20 insertions, 2 deletions
diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc
index a30c9833d..d7727c7d3 100644
--- a/cmdline/apt-get.cc
+++ b/cmdline/apt-get.cc
@@ -1,6 +1,6 @@
// -*- mode: cpp; mode: fold -*-
// Description /*{{{*/
-// $Id: apt-get.cc,v 1.83 1999/10/22 05:58:54 jgg Exp $
+// $Id: apt-get.cc,v 1.84 1999/10/24 06:03:48 jgg Exp $
/* ######################################################################
apt-get - Cover for dpkg
@@ -1216,6 +1216,15 @@ bool DoDSelectUpgrade(CommandLine &CmdL)
/* */
bool DoClean(CommandLine &CmdL)
{
+ // Lock the archive directory
+ FileFd Lock;
+ if (_config->FindB("Debug::NoLocking",false) == false)
+ {
+ Lock.Fd(GetLock(_config->FindDir("Dir::Cache::Archives") + "lock"));
+ if (_error->PendingError() == true)
+ return _error->Error("Unable to lock the download directory");
+ }
+
pkgAcquire Fetcher;
Fetcher.Clean(_config->FindDir("Dir::Cache::archives"));
Fetcher.Clean(_config->FindDir("Dir::Cache::archives") + "partial/");
@@ -1240,6 +1249,15 @@ class LogCleaner : public pkgArchiveCleaner
bool DoAutoClean(CommandLine &CmdL)
{
+ // Lock the archive directory
+ FileFd Lock;
+ if (_config->FindB("Debug::NoLocking",false) == false)
+ {
+ Lock.Fd(GetLock(_config->FindDir("Dir::Cache::Archives") + "lock"));
+ if (_error->PendingError() == true)
+ return _error->Error("Unable to lock the download directory");
+ }
+
CacheFile Cache;
if (Cache.Open() == false)
return false;
diff --git a/debian/changelog b/debian/changelog
index c51691eb1..2a2cf4ebf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -20,11 +20,11 @@ apt (0.3.13.1) unstable; urgency=low
* Checks for the partial directories before doing downloads Closes: #47392
* no_proxy environment variable (http only!) Closes: #43476
* apt-cache showsrc Closes: #45799
-
* De-Refs Single Pure virtual packages. Closes: #42437, #43555
* Regexs for install. Closes: #35304, #38835
* Dependency reports now show OR group relations
* Re-Install feature. Cloes: #46961, #37393, #38919
+ * Locks archive directory on clean (woops)
-- Jason Gunthorpe <jgg@debian.org> Fri, 3 Sep 1999 09:04:28 -0700