]> git.saurik.com Git - apt.git/blobdiff - cmdline/apt-get.cc
0.6.38ubuntu1
[apt.git] / cmdline / apt-get.cc
index ae81af3e6cddfa59a0bfb2b6b6ed37f4f8a94955..316bb7af98eb112c0c8bff0c5c93c4bc7920544f 100644 (file)
@@ -1380,6 +1380,15 @@ bool DoUpgrade(CommandLine &CmdL)
 /* Install named packages */
 bool DoInstall(CommandLine &CmdL)
 {
+   // Lock the list directory
+   FileFd Lock;
+   if (_config->FindB("Debug::NoLocking",false) == false)
+   {
+      Lock.Fd(GetLock(_config->FindDir("Dir::State::Lists") + "lock"));
+      if (_error->PendingError() == true)
+        return _error->Error(_("Unable to lock the list directory"));
+   }
+   
    CacheFile Cache;
    if (Cache.OpenForInstall() == false || 
        Cache.CheckDeps(CmdL.FileSize() != 1) == false)