summaryrefslogtreecommitdiff
path: root/Common.hs
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2012-01-29 22:55:06 -0400
committerGravatar Joey Hess <joey@kitenet.net>2012-01-29 22:55:06 -0400
commita964012fc36d22e4554dd12e3594579fb3190501 (patch)
tree31c3a5ea4fb78088b4981eb4185737353ec1ff3e /Common.hs
parent0609e102396083afa6380f8b67a69fa849235d16 (diff)
switch to the strict state monad
I had not realized what a memory leak the lazy state monad could be, although I have not seen much evidence of actual leaking in git-annex. However, if running git-annex on a great many files, this could matter. The additional Utility.State.changeState adds even more strictness, avoiding a problem I saw in github-backup where repeatedly modifying state built up a huge pile of thunks.
Diffstat (limited to 'Common.hs')
-rw-r--r--Common.hs2
1 files changed, 1 insertions, 1 deletions
diff --git a/Common.hs b/Common.hs
index 385d1aba4..fb998214b 100644
--- a/Common.hs
+++ b/Common.hs
@@ -3,7 +3,7 @@ module Common (module X) where
import Control.Monad as X hiding (join)
import Control.Monad.IfElse as X
import Control.Applicative as X
-import Control.Monad.State as X (liftIO)
+import Control.Monad.State.Strict as X (liftIO)
import Control.Exception.Extensible as X (IOException)
import Data.Maybe as X