From 263c4140583aeddd2c1e52a40d5fcc411f3d18d1 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 20 Aug 2014 18:56:25 -0400 Subject: more lock file refactoring Also fixes a test suite failures introduced in recent commits, where inAnnexSafe failed in indirect mode, since it tried to open the lock file ReadWrite. This is why the new checkLocked opens it ReadOnly. This commit was sponsored by Chad Horohoe. --- Remote/Helper/Hooks.hs | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) (limited to 'Remote') diff --git a/Remote/Helper/Hooks.hs b/Remote/Helper/Hooks.hs index 96f73cce3..529c35d3f 100644 --- a/Remote/Helper/Hooks.hs +++ b/Remote/Helper/Hooks.hs @@ -83,18 +83,12 @@ runHooks r starthook stophook a = do unlockFile lck #ifndef mingw32_HOST_OS mode <- annexFileMode - fd <- liftIO $ noUmask mode $ createLockFile (Just mode) lck - v <- liftIO $ tryIO $ - setLock fd (WriteLock, AbsoluteSeek, 0, 0) - case v of - Left _ -> noop - Right _ -> run stophook - liftIO $ closeFd fd + v <- liftIO $ noUmask mode $ tryLockExclusive (Just mode) lck #else v <- liftIO $ lockExclusive lck +#endif case v of Nothing -> noop Just lockhandle -> do run stophook liftIO $ dropLock lockhandle -#endif -- cgit v1.2.3