diff options
Diffstat (limited to 'Remote/Helper/Hooks.hs')
-rw-r--r-- | Remote/Helper/Hooks.hs | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/Remote/Helper/Hooks.hs b/Remote/Helper/Hooks.hs index 907400bd1..529c35d3f 100644 --- a/Remote/Helper/Hooks.hs +++ b/Remote/Helper/Hooks.hs @@ -16,10 +16,9 @@ import Types.Remote import Types.CleanupActions import qualified Annex import Annex.LockFile +import Utility.LockFile #ifndef mingw32_HOST_OS import Annex.Perms -#else -import Utility.WinLock #endif {- Modifies a remote's access functions to first run the @@ -84,19 +83,12 @@ runHooks r starthook stophook a = do unlockFile lck #ifndef mingw32_HOST_OS mode <- annexFileMode - fd <- liftIO $ noUmask mode $ - openFd lck ReadWrite (Just mode) defaultFileFlags - 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 |