guix-play/guix
Ludovic Courtès d921c742b7
cache: Avoid cache cleanup storms from concurrent processes.
Reported by Christopher Baines <guix@cbaines.net>.

* guix/cache.scm (maybe-remove-expired-cache-entries): Define
‘expiry-port’; create it with ‘lock-file’.  Change ‘last-expiry-date’
accordingly.  Write timestamp straight to ‘expiry-port’.
* tests/cache.scm ("maybe-remove-expired-cache-entries, cleanup needed
but lock taken"): New test.

Change-Id: I22441d9d2c4a339d3d3878de131864db5a0ae826
2024-08-21 00:52:39 +02:00
..
build syscalls: Add ‘mode’ parameter to ‘lock-file’. 2024-08-21 00:52:38 +02:00
build-system build-system/meson: #:test-options can be a gexp. 2024-07-26 19:21:33 +02:00
import import: pypi: make-pypi-sexp: Detect 'null description. 2024-08-17 13:23:57 +02:00
platforms
scripts scripts: hash: Handle repository with different VCS folders. 2024-07-23 16:27:27 +02:00
store
tests
android-repo-download.scm
avahi.scm
base16.scm
base32.scm
base64.scm
build-system.scm
bzr-download.scm
cache.scm cache: Avoid cache cleanup storms from concurrent processes. 2024-08-21 00:52:39 +02:00
channels.scm guix: channels: Enable specifiying available builtin builders. 2024-07-18 11:18:29 +01:00
ci.scm ci: Catch error for unreachable channel with substitutes. 2024-07-23 16:24:38 +02:00
colors.scm
combinators.scm
config.scm.in
cpio.scm
cpu.scm
cve.scm
cvs-download.scm
d3.v3.js
deprecation.scm
derivations.scm
describe.scm
diagnostics.scm
discovery.scm
docker.scm
download.scm
elf.scm
ftp-client.scm
gexp.scm
git-authenticate.scm
git-download.scm
git.scm git: Remove untracked files from cached checkouts. 2024-07-18 17:31:19 +02:00
glob.scm
gnu-maintenance.scm
gnupg.scm
grafts.scm
graph.js
graph.scm
hash.scm scripts: hash: Handle repository with different VCS folders. 2024-07-23 16:27:27 +02:00
hg-download.scm
http-client.scm
i18n.scm
inferior.scm inferior: Use the host built-in-builders with inferior. 2024-07-18 11:18:29 +01:00
ipfs.scm
least-authority.scm
licenses.scm
lint.scm Revert "guix: Run check-synopsis-style with other local checks." 2024-06-26 15:08:51 +01:00
man-db.scm
memoization.scm
modules.scm modules: ‘file-name->module-name’ strips leading “./”. 2024-07-18 17:31:19 +02:00
monad-repl.scm
monads.scm
nar.scm
narinfo.scm
openpgp.scm
packages.scm graft: Perform grafts with guile-final. 2024-07-23 18:09:35 +03:00
pki.scm
platform.scm
profiles.scm
profiling.scm
progress.scm
quirks.scm
read-print.scm
records.scm
remote.scm
repl.scm
rpm.scm
scripts.scm
search-paths.scm
self.scm self: Remove reference to source. 2024-07-02 10:19:52 +02:00
serialization.scm
sets.scm
ssh.scm
status.scm
store.scm guix: store: Enable specifying the builtin builders. 2024-07-18 11:18:25 +01:00
substitutes.scm
svn-download.scm
swh.scm swh: Specify 'extid_version' when looking up by external ID. 2024-06-26 23:56:56 +02:00
tests.scm guix: tests: Increase timeout for test store connection. 2024-08-01 10:32:31 +01:00
transformations.scm
ui.scm guix: packages: Add &unsupported-cross-compilation-target-error. 2024-07-15 22:34:24 +01:00
upstream.scm
utils.scm
workers.scm