one more try to get sane behavior our of lustre

This commit is contained in:
Joey Hess 2015-11-13 15:51:45 -04:00
parent 389c6c7d37
commit 70bfe218f5
Failed to extract signature

View file

@ -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