From 9b90d7e801c226a061e5b1e3e70bf2967f3ef6f1 Mon Sep 17 00:00:00 2001 From: Todd Gamblin Date: Sat, 21 Dec 2019 16:50:15 -0800 Subject: performance: reduce system calls required for remove_dead_links `os.path.exists()` will report False if the target of a symlink doesn't exist, so we can avoid a costly call to realpath here. --- lib/spack/llnl/util/filesystem.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/lib/spack/llnl/util/filesystem.py b/lib/spack/llnl/util/filesystem.py index 4bdf543d79..e9dd88ffdb 100644 --- a/lib/spack/llnl/util/filesystem.py +++ b/lib/spack/llnl/util/filesystem.py @@ -917,10 +917,8 @@ def remove_if_dead_link(path): Parameters: path (str): The potential dead link """ - if os.path.islink(path): - real_path = os.path.realpath(path) - if not os.path.exists(real_path): - os.unlink(path) + if os.path.islink(path) and not os.path.exists(path): + os.unlink(path) def remove_linked_tree(path): -- cgit v1.2.3-60-g2f50