From 61b48b69baa72c3a03b819d5ff92da96fb85fb19 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 9 Dec 2021 13:39:16 -0400 Subject: [PATCH] fix build on windows --- Utility/LockPool/Windows.hs | 10 +++++----- doc/bugs/Build_failing_on_Windows_since_ef3ab0769.mdwn | 2 ++ 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Utility/LockPool/Windows.hs b/Utility/LockPool/Windows.hs index 4b35da6b0f..b81fbdf074 100644 --- a/Utility/LockPool/Windows.hs +++ b/Utility/LockPool/Windows.hs @@ -22,7 +22,7 @@ import Utility.LockPool.STM (LockFile, LockMode(..)) {- Tries to lock a file with a shared lock, which allows other processes to - also lock it shared. Fails if the file is exclusively locked. -} lockShared :: LockFile -> IO (Maybe LockHandle) -lockShared file = tryMakeLockHandle P.lockPool file +lockShared file = fmap fst <$> tryMakeLockHandle P.lockPool file (\p f -> P.tryTakeLock p f LockShared) (\f _ -> fmap mk <$> F.lockShared f) @@ -33,7 +33,7 @@ lockShared file = tryMakeLockHandle P.lockPool file - read or write by any other process. So for advisory locking of a file's - content, a separate LockFile should be used. -} lockExclusive :: LockFile -> IO (Maybe LockHandle) -lockExclusive file = tryMakeLockHandle P.lockPool file +lockExclusive file = fmap fst <$> tryMakeLockHandle P.lockPool file (\p f -> P.tryTakeLock p f LockExclusive) (\f _ -> fmap mk <$> F.lockExclusive f) @@ -42,7 +42,7 @@ lockExclusive file = tryMakeLockHandle P.lockPool file waitToLock :: IO (Maybe lockhandle) -> IO lockhandle waitToLock = F.waitToLock -mk :: F.LockHandle -> FileLockOps -mk h = FileLockOps +mk :: F.LockHandle -> (FileLockOps, ()) +mk h = (FileLockOps { fDropLock = F.dropLock h - } + }, ()) diff --git a/doc/bugs/Build_failing_on_Windows_since_ef3ab0769.mdwn b/doc/bugs/Build_failing_on_Windows_since_ef3ab0769.mdwn index 842869ccec..2f27b9533d 100644 --- a/doc/bugs/Build_failing_on_Windows_since_ef3ab0769.mdwn +++ b/doc/bugs/Build_failing_on_Windows_since_ef3ab0769.mdwn @@ -72,3 +72,5 @@ Utility\LockPool\Windows.hs:38:18: error: [[!meta author=jwodder]] [[!tag projects/datalad]] + +> [[fixed|done]] --[[Joey]]