From 679d9c0027ac996eea9f41a6f0f39af436801e89 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 20 Aug 2014 16:45:58 -0400 Subject: reorganize and refactor lock code Added a convenience Utility.LockFile that is not a windows/posix portability shim, but still manages to cut down on the boilerplate around locking. This commit was sponsored by Johan Herland. --- Remote/Helper/Hooks.hs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'Remote/Helper/Hooks.hs') diff --git a/Remote/Helper/Hooks.hs b/Remote/Helper/Hooks.hs index cd31a2fd5..96f73cce3 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,9 +83,7 @@ runHooks r starthook stophook a = do unlockFile lck #ifndef mingw32_HOST_OS mode <- annexFileMode - fd <- liftIO $ noUmask mode $ - openFd lck ReadWrite (Just mode) defaultFileFlags - liftIO $ setFdOption fd CloseOnExec True + fd <- liftIO $ noUmask mode $ createLockFile (Just mode) lck v <- liftIO $ tryIO $ setLock fd (WriteLock, AbsoluteSeek, 0, 0) case v of -- cgit v1.2.3