Extra-1.46.3: A grab bag of modules.
Extra.Lock
Synopsis
withLock :: MonadIO m => FilePath -> m a -> m a Source
awaitLock :: (Ord a, Num a) => a -> Int -> FilePath -> IO b -> IO b Source
Like withLock, but instead of giving up immediately, try n times with a wait between each. awaitLock :: (MonadIO m) => Int -> Int -> FilePath -> m a -> m (Either Exception a)