diff options
author | Massimiliano Culpo <massimiliano.culpo@gmail.com> | 2023-08-07 12:47:52 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-07 06:47:52 -0400 |
commit | ba1d29502388ba85d9c45df4ac70c8b980a8720d (patch) | |
tree | dcc884c2971e2880394976707f74dff2d5e95ba0 /bin | |
parent | 27f04b35442b5a6b9015f17bab46b7df3371f3fc (diff) | |
download | spack-ba1d29502388ba85d9c45df4ac70c8b980a8720d.tar.gz spack-ba1d29502388ba85d9c45df4ac70c8b980a8720d.tar.bz2 spack-ba1d29502388ba85d9c45df4ac70c8b980a8720d.tar.xz spack-ba1d29502388ba85d9c45df4ac70c8b980a8720d.zip |
Extract prefix locks and failure markers from Database (#39024)
This PR extracts two responsibilities from the `Database` class:
1. Managing locks for prefixes during an installation
2. Marking installation failures
and pushes them into their own class (`SpecLocker` and `FailureMarker`). These responsibilities are also pushed up into the `Store`, leaving to `Database` only the duty to manage `index.json` files.
`SpecLocker` classes no longer share a global list of locks, but locks are per instance. Their identifier is simply `(dag hash, package name)`, and not the spec prefix path, to avoid circular dependencies across Store / Database / Spec.
Diffstat (limited to 'bin')
0 files changed, 0 insertions, 0 deletions