summaryrefslogtreecommitdiff
path: root/Assistant/RepoProblem.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Assistant/RepoProblem.hs')
-rw-r--r--Assistant/RepoProblem.hs23
1 files changed, 23 insertions, 0 deletions
diff --git a/Assistant/RepoProblem.hs b/Assistant/RepoProblem.hs
new file mode 100644
index 000000000..d2e5a5cf1
--- /dev/null
+++ b/Assistant/RepoProblem.hs
@@ -0,0 +1,23 @@
+{- git-annex assistant remote problem handling
+ -
+ - Copyright 2013 Joey Hess <joey@kitenet.net>
+ -
+ - Licensed under the GNU GPL version 3 or higher.
+ -}
+
+module Assistant.RepoProblem where
+
+import Assistant.Common
+import Utility.TList
+
+import Control.Concurrent.STM
+
+{- Gets all repositories that have problems.
+ - Blocks until there is at least one. -}
+getRepoProblems :: Assistant [UUID]
+getRepoProblems = (atomically . getTList) <<~ repoProblemChan
+
+{- Indicates that there was a problem accessing a repo, and the problem
+ - appears to not be a transient (eg network connection) problem. -}
+repoHasProblem :: UUID -> Assistant ()
+repoHasProblem r = (atomically . flip consTList r) <<~ repoProblemChan