Improve shutdown due to --time-limit, especially for fsck
* Perform a clean shutdown when --time-limit is reached. This includes running queued git commands, and cleanup actions normally run when a command is finished. * fsck: Commit incremental fsck database when --time-limit is reached. Previously, some of the last files fscked did not make it into the database when using --time-limit. Note that this changes Annex.addCleanup hooks, to run after --time-limit expires. Fsck was using such a hook to clean up after a --incremental-schedule, and that shouldn't run when --time-limit exipires it. So, instead, moved that cleanup code to be run by cleanupIncremental. Resulted in some data type juggling.
This commit is contained in:
parent
c0b598b7f1
commit
9dfe03dbcd
7 changed files with 89 additions and 47 deletions
2
Limit.hs
2
Limit.hs
|
@ -13,6 +13,7 @@ import qualified Utility.Matcher
|
|||
import qualified Remote
|
||||
import qualified Backend
|
||||
import Annex.Content
|
||||
import Annex.Action
|
||||
import Annex.UUID
|
||||
import Logs.Trust
|
||||
import Annex.NumCopies
|
||||
|
@ -271,6 +272,7 @@ addTimeLimit s = do
|
|||
if now > cutoff
|
||||
then do
|
||||
warning $ "Time limit (" ++ s ++ ") reached!"
|
||||
shutdown True
|
||||
liftIO $ exitWith $ ExitFailure 101
|
||||
else return True
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue