diff options
author | Joey Hess <joey@kitenet.net> | 2011-03-16 15:10:15 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2011-03-16 15:10:15 -0400 |
commit | bc21502b9a640e798dc6bbbb255aa9742a1c6187 (patch) | |
tree | f334f7a1dedba0a68b0549e2e44b3278bcac3d44 /CmdLine.hs | |
parent | 0f8edc99ee76a80c948bdedc42730e7679a822a0 (diff) |
use queue when upgrading, flushing every so often
Added a cheap way to query the size of a queue.
runQueueAt is not the default yet only because there may be some code that
expects to be able to queue some suff, do something else, and run the whole
queue at the end.
10240 is an arbitrary size for the queue. If we assume annexed
filenames are between 10 and 255 characters long, then the queue will
build up between 100kb and 2550kb long commands. The max command line
length on linux is somewhere above 20k, so this is a fairly good balance --
the queue will buffer only a few megabytes of stuff and a minimal number
of commands will be run by xargs.
Also, insert queue items strictly, this should save memory.
Diffstat (limited to 'CmdLine.hs')
-rw-r--r-- | CmdLine.hs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/CmdLine.hs b/CmdLine.hs index b8fd6af7c..0698f2f5e 100644 --- a/CmdLine.hs +++ b/CmdLine.hs @@ -99,7 +99,7 @@ startup = do shutdown :: Annex Bool shutdown = do q <- Annex.getState Annex.repoqueue - unless (q == GitQueue.empty) $ do + unless (0 == GitQueue.size q) $ do showSideAction "Recording state in git..." Annex.queueRun |