summaryrefslogtreecommitdiffstats
path: root/bin/emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-09-27 17:55:52 +0000
committerZac Medico <zmedico@gentoo.org>2007-09-27 17:55:52 +0000
commit1ba6883daca0c6e96f37ca30ee51b6b20c27b98a (patch)
tree469f4820f5e892bc09c7fe7406351a803f394776 /bin/emerge
parent2bc45d58cae78b672e84ce213b4bbf2738986343 (diff)
downloadportage-1ba6883daca0c6e96f37ca30ee51b6b20c27b98a.tar.gz
portage-1ba6883daca0c6e96f37ca30ee51b6b20c27b98a.tar.bz2
portage-1ba6883daca0c6e96f37ca30ee51b6b20c27b98a.zip
Bug #194025 - Lock /var/db/pkg in post_merge() during the
"Regenerating GNU info directory index" routine. (trunk r7853) svn path=/main/branches/2.1.2/; revision=7854
Diffstat (limited to 'bin/emerge')
-rwxr-xr-xbin/emerge13
1 files changed, 10 insertions, 3 deletions
diff --git a/bin/emerge b/bin/emerge
index 529767ebc..f5690df21 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -4497,11 +4497,18 @@ def post_emerge(settings, mtimedb, retval):
else:
mod_echo.finalize()
- if "noinfo" not in settings.features:
- chk_updated_info_files(target_root, infodirs, info_mtimes, retval)
+ vdb_path = os.path.join(target_root, portage.VDB_PATH)
+ portage_util.ensure_dirs(vdb_path)
+ vdb_lock = portage_locks.lockdir(vdb_path)
+ try:
+ if "noinfo" not in settings.features:
+ chk_updated_info_files(target_root, infodirs, info_mtimes, retval)
+ mtimedb.commit()
+ finally:
+ portage_locks.unlockdir(vdb_lock)
chk_updated_cfg_files(target_root, config_protect)
- mtimedb.commit()
+
sys.exit(retval)