summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-09-05 20:30:04 +0000
committerZac Medico <zmedico@gentoo.org>2006-09-05 20:30:04 +0000
commit6d0c61651262bb9032f4738ad0404c615b03e873 (patch)
tree75a968a05a9ec6153a749eb5d4cd0d2ebbcd5393
parent34172fca081063a4af798111efce6488caeca830 (diff)
downloadportage-6d0c61651262bb9032f4738ad0404c615b03e873.tar.gz
portage-6d0c61651262bb9032f4738ad0404c615b03e873.tar.bz2
portage-6d0c61651262bb9032f4738ad0404c615b03e873.zip
During env_update, raise a FileNotFound exception if a file is unexpectedly removed by a concurrent process. See bug #146412.
svn path=/main/trunk/; revision=4408
-rw-r--r--pym/portage.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/pym/portage.py b/pym/portage.py
index dee3005a5..f94870b87 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -500,6 +500,9 @@ def env_update(makelinks=1, target_root=None, prev_mtimes=None):
writemsg("!!! '%s'\n" % str(e), noiselevel=-1)
del e
continue
+ if myconfig is None:
+ # file removed by a concurrent process
+ raise portage_exception.FileNotFound(file_path)
# process PATH, CLASSPATH, LDPATH
for myspec in specials.keys():
if myconfig.has_key(myspec):