# remove preserved libraries that don't have any consumers left
plib_registry = self.vartree.dbapi._plib_registry
if plib_registry:
+ self.vartree.dbapi._fs_lock()
plib_registry.lock()
try:
plib_registry.load()
plib_registry.store()
finally:
plib_registry.unlock()
+ self.vartree.dbapi._fs_unlock()
def unmerge(self, pkgfiles=None, trimworld=None, cleanup=True,
ldpath_mtimes=None, others_in_slot=None, needed=None,
preserve_paths = set()
needed = None
if not (linkmap is None or plib_registry is None):
+ self.vartree.dbapi._fs_lock()
plib_registry.lock()
try:
plib_registry.load()
preserve_paths = self._find_libs_to_preserve()
finally:
plib_registry.unlock()
+ self.vartree.dbapi._fs_unlock()
if preserve_paths:
self._add_preserve_libs_to_contents(preserve_paths)
plib_registry = self.vartree.dbapi._plib_registry
if plib_registry:
+ self.vartree.dbapi._fs_lock()
plib_registry.lock()
try:
plib_registry.load()
plib_registry.store()
finally:
plib_registry.unlock()
+ self.vartree.dbapi._fs_unlock()
self.vartree.dbapi._add(self)
contents = self.getcontents()