diff options
author | Joey Hess <joey@kitenet.net> | 2012-06-13 12:36:33 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2012-06-13 12:46:39 -0400 |
commit | ccc50052453ccaf2db0c371c5c36b5eea3e9191a (patch) | |
tree | dfb2ce0b7bfed5c8490cda68b6cd733bef72c473 /Assistant/DaemonStatus.hs | |
parent | c31ddeda84542414dd58e03473a23a6de8890390 (diff) |
reorganize
Diffstat (limited to 'Assistant/DaemonStatus.hs')
-rw-r--r-- | Assistant/DaemonStatus.hs | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Assistant/DaemonStatus.hs b/Assistant/DaemonStatus.hs new file mode 100644 index 000000000..43a8c7e2f --- /dev/null +++ b/Assistant/DaemonStatus.hs @@ -0,0 +1,35 @@ +{- git-annex assistant daemon status + - + - Copyright 2012 Joey Hess <joey@kitenet.net> + -} + +module Assistant.DaemonStatus where + +import Common.Annex + +import Control.Concurrent +import System.Posix.Types + +data DaemonStatus = DaemonStatus + -- False when the daemon is performing its startup scan + { scanComplete :: Bool + -- Time when a previous process of the daemon was running ok + , lastRunning :: Maybe EpochTime + } + +type DaemonStatusHandle = MVar DaemonStatus + +newDaemonStatus :: DaemonStatus +newDaemonStatus = DaemonStatus + { scanComplete = False + , lastRunning = Nothing + } + +startDaemonStatus :: IO DaemonStatusHandle +startDaemonStatus = newMVar newDaemonStatus + +getDaemonStatus :: DaemonStatusHandle -> Annex DaemonStatus +getDaemonStatus = liftIO . readMVar + +modifyDaemonStatus :: DaemonStatusHandle -> (DaemonStatus -> DaemonStatus) -> Annex () +modifyDaemonStatus status a = liftIO $ modifyMVar_ status (return . a) |