[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#41119] [PATCH] fix some issues with (guix nar)
From: |
Caleb Ristvedt |
Subject: |
[bug#41119] [PATCH] fix some issues with (guix nar) |
Date: |
Wed, 06 May 2020 22:52:11 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
I noticed two issues while looking at (guix nar):
1. The proper store-lock-handling protocol isn't used in
FINALIZE-STORE-FILE. Lock acquisition needs to check for a deletion
token, retrying if it exists, and lock release needs to delete the
lock file and write the deletion token.
2. WITH-TEMPORARY-STORE-FILE opens a new daemon connection every time it
retries with a new filename, and only closes any of them after the
body has completed. So if we retry 20 times, we get 20 concurrent
daemon connections. This also prevents the call to LOOP from being a
tail call.
The attached patches resolve these issues. There are of course going to
be more places we need to (properly) acquire and release store locks as
guile-daemon code gets merged, but for now this should work as a bandaid
fix.
- reepca
0001-nar-finalize-store-file-follows-proper-store-lock-pr.patch
Description: FINALIZE-STORE-FILE fix
0002-nar-with-temporary-store-file-uses-a-single-connecti.patch
Description: WITH-TEMPORARY-STORE-FILE fix
signature.asc
Description: PGP signature
- [bug#41119] [PATCH] fix some issues with (guix nar),
Caleb Ristvedt <=