diff options
author | Joey Hess <joey@kitenet.net> | 2012-06-20 16:07:14 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-06-20 16:31:46 -0400 |
commit | e0fdfb2e706da2cb1451193c658dc676b0530968 (patch) | |
tree | 89ec8551867956be229af9fb726a8bb7a65d6543 /Backend.hs | |
parent | ad11de94e54d17c765d980bfe249eca1c9b6cabd (diff) |
maintain set of files pendingAdd
Kqueue needs to remember which files failed to be added due to being open,
and retry them. This commit gets the data in place for such a retry thread.
Broke KeySource out into its own file, and added Eq and Ord instances
so it can be stored in a Set.
Diffstat (limited to 'Backend.hs')
-rw-r--r-- | Backend.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Backend.hs b/Backend.hs index bde1aad78..d1dfdef3c 100644 --- a/Backend.hs +++ b/Backend.hs @@ -6,7 +6,6 @@ -} module Backend ( - B.KeySource(..), list, orderedList, genKey, @@ -23,6 +22,7 @@ import Config import qualified Annex import Annex.CheckAttr import Types.Key +import Types.KeySource import qualified Types.Backend as B -- When adding a new backend, import it here and add it to the list. @@ -54,12 +54,12 @@ orderedList = do {- Generates a key for a file, trying each backend in turn until one - accepts it. -} -genKey :: B.KeySource -> Maybe Backend -> Annex (Maybe (Key, Backend)) +genKey :: KeySource -> Maybe Backend -> Annex (Maybe (Key, Backend)) genKey source trybackend = do bs <- orderedList let bs' = maybe bs (: bs) trybackend genKey' bs' source -genKey' :: [Backend] -> B.KeySource -> Annex (Maybe (Key, Backend)) +genKey' :: [Backend] -> KeySource -> Annex (Maybe (Key, Backend)) genKey' [] _ = return Nothing genKey' (b:bs) source = do r <- B.getKey b source |