locks: add configuration and command-line options to enable/disable locks (#7692)
- spack.util.lock behaves the same as llnl.util.lock, but Lock._lock and Lock._unlock do nothing. - can be disabled with a control variable. - configuration options can enable/disable locking: - `locks` option in spack configuration controls whether Spack will use filesystem locks or not. - `-l` and `-L` command-line options can force-disable or force-enable locking. - Spack will check for group- and world-writability before disabling locks, and it will not allow a group- or world-writable instance to have locks disabled. - update documentation
This commit is contained in:
@@ -18,13 +18,16 @@ config:
|
||||
# You can use $spack here to refer to the root of the spack instance.
|
||||
install_tree: $spack/opt/spack
|
||||
|
||||
|
||||
# Locations where templates should be found
|
||||
template_dirs:
|
||||
- $spack/templates
|
||||
|
||||
|
||||
# default directory layout
|
||||
directory_layout: "${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}"
|
||||
|
||||
|
||||
# Locations where different types of modules should be installed.
|
||||
module_roots:
|
||||
tcl: $spack/share/spack/modules
|
||||
@@ -74,6 +77,15 @@ config:
|
||||
dirty: false
|
||||
|
||||
|
||||
# When set to true, concurrent instances of Spack will use locks to
|
||||
# avoid modifying the install tree, database file, etc. If false, Spack
|
||||
# will disable all locking, but you must NOT run concurrent instances
|
||||
# of Spack. For filesystems that don't support locking, you should set
|
||||
# this to false and run one Spack at a time, but otherwise we recommend
|
||||
# enabling locks.
|
||||
locks: true
|
||||
|
||||
|
||||
# The default number of jobs to use when running `make` in parallel.
|
||||
# If set to 4, for example, `spack install` will run `make -j4`.
|
||||
# If not set, all available cores are used by default.
|
||||
|
Reference in New Issue
Block a user