summaryrefslogtreecommitdiff
path: root/Types/LockCache.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-05-18 16:23:07 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-05-19 14:09:52 -0400
commitae5433c4caf0ee57e3338df6dcd625f20ece7101 (patch)
tree5bdab44419df36e7e5aab2e36cd6b221654de04e /Types/LockCache.hs
parent94a3e606fb31150c969d63790ec1ef870f413cc1 (diff)
use lock pools throughout git-annex
The one exception is in Utility.Daemon. As long as a process only daemonizes once, which seems reasonable, and as long as it avoids calling checkDaemon once it's already running as a daemon, the fcntl locking gotchas won't be a problem there. Annex.LockFile has it's own separate lock pool layer, which has been renamed to LockCache. This is a persistent cache of locks that persist until closed. This is not quite done; lockContent stil needs to be converted.
Diffstat (limited to 'Types/LockCache.hs')
-rw-r--r--Types/LockCache.hs16
1 files changed, 16 insertions, 0 deletions
diff --git a/Types/LockCache.hs b/Types/LockCache.hs
new file mode 100644
index 000000000..c1f394cf0
--- /dev/null
+++ b/Types/LockCache.hs
@@ -0,0 +1,16 @@
+{- git-annex lock cache data types
+ -
+ - Copyright 2014 Joey Hess <id@joeyh.name>
+ -
+ - Licensed under the GNU GPL version 3 or higher.
+ -}
+
+module Types.LockCache (
+ LockCache,
+ LockHandle
+) where
+
+import qualified Data.Map as M
+import Utility.LockPool
+
+type LockCache = M.Map FilePath LockHandle