summaryrefslogtreecommitdiff
path: root/Database/Keys.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Database/Keys.hs')
-rw-r--r--Database/Keys.hs20
1 files changed, 1 insertions, 19 deletions
diff --git a/Database/Keys.hs b/Database/Keys.hs
index d4b5b3357..a0c5b1a04 100644
--- a/Database/Keys.hs
+++ b/Database/Keys.hs
@@ -14,7 +14,6 @@ module Database.Keys (
DbHandle,
openDb,
closeDb,
- shutdown,
addAssociatedFile,
getAssociatedFiles,
getAssociatedKey,
@@ -84,24 +83,7 @@ closeDb :: DbHandle -> IO ()
closeDb (DbHandle h) = H.closeDb h
withDbHandle :: (H.DbHandle -> IO a) -> Annex a
-withDbHandle a = do
- (DbHandle h) <- dbHandle
- liftIO $ a h
-
-dbHandle :: Annex DbHandle
-dbHandle = maybe startup return =<< Annex.getState Annex.keysdbhandle
- where
- startup = do
- h <- openDb
- Annex.changeState $ \s -> s { Annex.keysdbhandle = Just h }
- return h
-
-shutdown :: Annex ()
-shutdown = maybe noop go =<< Annex.getState Annex.keysdbhandle
- where
- go h = do
- Annex.changeState $ \s -> s { Annex.keysdbhandle = Nothing }
- liftIO $ closeDb h
+withDbHandle a = bracket openDb (liftIO . closeDb) (\(DbHandle h) -> liftIO (a h))
addAssociatedFile :: Key -> FilePath -> Annex ()
addAssociatedFile k f = withDbHandle $ \h -> H.queueDb h (\_ _ -> pure True) $ do