aboutsummaryrefslogtreecommitdiff
path: root/Messages
diff options
context:
space:
mode:
authorGravatar Joey Hess <joeyh@joeyh.name>2015-11-16 21:21:58 -0400
committerGravatar Joey Hess <joeyh@joeyh.name>2015-11-16 21:21:58 -0400
commitb30f9c5660be384e0fc75a9378101439f15954a7 (patch)
treedafb6fb570c4d75b7ac514a72b81c24e0fd49fe8 /Messages
parent89e8441c62b985a6bcf37024fc051e99fbce8e37 (diff)
avoid spawning file size polling thread when not in -J mode
Diffstat (limited to 'Messages')
-rw-r--r--Messages/Progress.hs10
1 files changed, 9 insertions, 1 deletions
diff --git a/Messages/Progress.hs b/Messages/Progress.hs
index c14e7e6b1..25d803b1b 100644
--- a/Messages/Progress.hs
+++ b/Messages/Progress.hs
@@ -70,7 +70,15 @@ concurrentMetered :: Maybe MeterUpdate -> Key -> (MeterUpdate -> Annex a) -> Ann
concurrentMetered combinemeterupdate key a = withOutputType go
where
go (ConcurrentOutput _) = metered combinemeterupdate key a
- go _ = a (fromMaybe (const noop) combinemeterupdate)
+ go _ = a (fromMaybe nullMeterUpdate combinemeterupdate)
+
+{- Poll file size to display meter, but only for concurrent output. -}
+concurrentMeteredFile :: FilePath -> Maybe MeterUpdate -> Key -> Annex a -> Annex a
+concurrentMeteredFile file combinemeterupdate key a = withOutputType go
+ where
+ go (ConcurrentOutput _) = metered combinemeterupdate key $ \p ->
+ watchFileSize file p a
+ go _ = a
{- Progress dots. -}
showProgressDots :: Annex ()