diff options
author | Joey Hess <joey@kitenet.net> | 2014-08-20 18:56:25 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2014-08-20 18:58:14 -0400 |
commit | 263c4140583aeddd2c1e52a40d5fcc411f3d18d1 (patch) | |
tree | ce22004cbe16525a6c649f84f3a4d216fb688236 /Remote | |
parent | 00d6acb7268239162a9ebd9386f7ca1271c3cc7d (diff) |
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.
Diffstat (limited to 'Remote')
-rw-r--r-- | Remote/Helper/Hooks.hs | 10 |
1 files changed, 2 insertions, 8 deletions
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 |