From: Joey Hess Date: Fri, 13 Nov 2015 19:51:45 +0000 (-0400) Subject: one more try to get sane behavior our of lustre X-Git-Tag: archive/raspbian/10.20250416-2+rpi1~1^2~324^2~18 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=70bfe218f50da5c8ced42fcaf993833832ddac50;p=git-annex.git one more try to get sane behavior our of lustre --- diff --git a/Utility/LockFile/PidLock.hs b/Utility/LockFile/PidLock.hs index 68d9b7bac2..5c5a89cc75 100644 --- a/Utility/LockFile/PidLock.hs +++ b/Utility/LockFile/PidLock.hs @@ -144,8 +144,11 @@ tryLock lockfile = trySideLock lockfile $ \sidelock -> do linkToLock :: SideLockHandle -> FilePath -> FilePath -> IO Bool linkToLock Nothing _ _ = return False linkToLock (Just _) src dest = do + -- This might make Lustre notice that a lock file that is already + -- there is there? + _ <- catchMaybeIO $ readFile dest _ <- tryIO $ createLink src dest - ifM (catchBoolIO checklink) + ifM (catchBoolIO checklinked) ( catchBoolIO $ do srccontent <- readFile src destcontent <- readFile dest @@ -153,7 +156,7 @@ linkToLock (Just _) src dest = do , return False ) where - checklink = do + checklinked = do x <- getSymbolicLinkStatus src y <- getSymbolicLinkStatus dest return $ and