environment.py: only acquire write lock when necessary (#31493)

This commit is contained in:
Harmen Stoppels
2022-07-12 16:12:43 +02:00
committed by GitHub
parent 9087224e04
commit b2c519470b

View File

@@ -1612,9 +1612,10 @@ def install_specs(self, specs=None, **install_args):
# ensure specs already installed are marked explicit
all_specs = specs or [cs for _, cs in self.concretized_specs()]
specs_installed = [s for s in all_specs if s.installed]
with spack.store.db.write_transaction(): # do all in one transaction
for spec in specs_installed:
spack.store.db.update_explicit(spec, True)
if specs_installed:
with spack.store.db.write_transaction(): # do all in one transaction
for spec in specs_installed:
spack.store.db.update_explicit(spec, True)
if not specs_to_install:
tty.msg('All of the packages are already installed')