From 5ba85e3774688d7e65dc6892948bba9397b098c6 Mon Sep 17 00:00:00 2001 From: Lorenzo Allotta Date: Mon, 15 Apr 2019 02:08:23 -0400 Subject: [PATCH] Avoid calling 'set_permissions' if the mode is ok Fixes #1638 --- src/utils/utils.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/utils/utils.rs b/src/utils/utils.rs index 5e04809878..9e5394968a 100644 --- a/src/utils/utils.rs +++ b/src/utils/utils.rs @@ -389,9 +389,15 @@ pub fn make_executable(path: &Path) -> Result<()> { path: PathBuf::from(path), })?; let mut perms = metadata.permissions(); - let new_mode = (perms.mode() & !0o777) | 0o755; - perms.set_mode(new_mode); + let mode = perms.mode(); + let new_mode = (mode & !0o777) | 0o755; + // Check if permissions are ok already - #1638 + if mode == new_mode { + return Ok(()); + } + + perms.set_mode(new_mode); set_permissions(path, perms) }