summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-11-01 06:48:51 +0000
committerZac Medico <zmedico@gentoo.org>2008-11-01 06:48:51 +0000
commit0a762ab961a18d6e2b38d3ec6b7e4eb0f399b6aa (patch)
tree545e5f427aaa7203d4af2aec9ffdb23cca84257c
parentBefore returning from PreservedLibsRegistry.store(), update self._data_orig. (diff)
downloadportage-multirepo-0a762ab961a18d6e2b38d3ec6b7e4eb0f399b6aa.tar.gz
portage-multirepo-0a762ab961a18d6e2b38d3ec6b7e4eb0f399b6aa.tar.bz2
portage-multirepo-0a762ab961a18d6e2b38d3ec6b7e4eb0f399b6aa.zip
Explicitly load the preserved libs registry after obtaining a lock for merge
or unmerge, in case the registry has been changed by a parallel emerge instance. svn path=/main/trunk/; revision=11779
-rw-r--r--pym/portage/__init__.py1
-rw-r--r--pym/portage/dbapi/vartree.py1
2 files changed, 2 insertions, 0 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py
index 4713d883..d6b2f77d 100644
--- a/pym/portage/__init__.py
+++ b/pym/portage/__init__.py
@@ -6066,6 +6066,7 @@ def unmerge(cat, pkg, myroot, mysettings, mytrimworld=1, vartree=None,
try:
mylink.lockdb()
if mylink.exists():
+ vartree.dbapi.plib_registry.load()
retval = mylink.unmerge(trimworld=mytrimworld, cleanup=1,
ldpath_mtimes=ldpath_mtimes)
if retval == os.EX_OK:
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index c203d770..68e0ecf1 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -3743,6 +3743,7 @@ class dblink(object):
retval = -1
self.lockdb()
try:
+ self.vartree.dbapi.plib_registry.load()
retval = self.treewalk(mergeroot, myroot, inforoot, myebuild,
cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes)
# undo registrations of preserved libraries, bug #210501