[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
10/16: home: symlink-manager: Avoid extra 'lstat' call.
From: |
guix-commits |
Subject: |
10/16: home: symlink-manager: Avoid extra 'lstat' call. |
Date: |
Thu, 10 Mar 2022 05:43:54 -0500 (EST) |
civodul pushed a commit to branch master
in repository guix.
commit a3a76a8384e9f9b6e86b5dbe58ba1421101a87a3
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Fri Feb 18 17:31:10 2022 +0100
home: symlink-manager: Avoid extra 'lstat' call.
* gnu/home/services/symlink-manager.scm
(update-symlinks-script)[symlink-to-store?]:
Avoid extra 'lstat' call.
---
gnu/home/services/symlink-manager.scm | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/gnu/home/services/symlink-manager.scm
b/gnu/home/services/symlink-manager.scm
index 6b3a9de3d1..ba42424e8e 100644
--- a/gnu/home/services/symlink-manager.scm
+++ b/gnu/home/services/symlink-manager.scm
@@ -103,8 +103,13 @@ appear only after all nested items already listed."
(string-append backup-dir "/." path))
(define (symlink-to-store? path)
- (and (equal? (stat:type (lstat path)) 'symlink)
- (store-file-name? (readlink path))))
+ (catch 'system-error
+ (lambda ()
+ (store-file-name? (readlink path)))
+ (lambda args
+ (if (= EINVAL (system-error-errno args))
+ #f
+ (apply throw args)))))
(define (backup-file path)
(mkdir-p backup-dir)
- 02/16: gnu: gnome-arcade: Update to 0.240., (continued)
- 02/16: gnu: gnome-arcade: Update to 0.240., guix-commits, 2022/03/10
- 08/16: home: symlink-manager: Use 'file-is-directory?'., guix-commits, 2022/03/10
- 16/16: home: symlink-manager: Rename "path" to "file" where appropriate., guix-commits, 2022/03/10
- 07/16: home: symlink-manager: Use 'for-each' when used for effects., guix-commits, 2022/03/10
- 01/16: maint: 'assert-binaries-available' only checks ci.guix.gnu.org., guix-commits, 2022/03/10
- 06/16: home: symlink-manager: Move helper procedures as top-level defines., guix-commits, 2022/03/10
- 11/16: tests: Make sure 'guix home reconfigure' backs up files., guix-commits, 2022/03/10
- 13/16: tests: Check 'guix home reconfigure' for a second generation., guix-commits, 2022/03/10
- 12/16: tests: Simplify use of 'local-file' in 'tests/guix-home.sh'., guix-commits, 2022/03/10
- 14/16: home: symlink-manager: 'cleanup-symlinks' uses 'file-system-fold'., guix-commits, 2022/03/10
- 10/16: home: symlink-manager: Avoid extra 'lstat' call.,
guix-commits <=
- 15/16: home: symlink-manager: 'create-symlinks' uses 'file-system-fold'., guix-commits, 2022/03/10