git-annex/CmdLine
Joey Hess 66bd4f80b3
Improved handling of --time-limit when combined with -J
When concurrency is enabled, there can be worker threads still running
when the time limit is checked. Exiting right there does not
give those threads time to finish what they're doing. Instead, the seeking
is wrapped up, and git-annex then shuts down cleanly.

The whole point of --time-limit existing, rather than using timeout(1)
when running git-annex is to let git-annex finish the action(s) it is
working on when the time limit is reached, and shut down cleanly.

I noticed this problem when investigating why restagePointerFile might
not have run after get/drop of an unlocked file. With --time-limit -J,
a worker thread may have finished updating a work tree file, and be killed
by the time limit check before it can run restagePointerFile. So despite
--time-limit running the shutdown actions, the work tree file didn't get
restaged.

Sponsored-by: Dartmouth College's DANDI project
2022-09-22 12:54:52 -04:00
..
GitAnnex add --dry-run: New option 2022-08-03 11:16:04 -04:00
GitAnnexShell remove git-annex-shell compat code 2021-10-11 15:36:51 -04:00
Action.hs Improved handling of --time-limit when combined with -J 2022-09-22 12:54:52 -04:00
AnnexSetter.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
Batch.hs reject batch options combined with non-batch options 2022-01-26 13:00:19 -04:00
GitAnnex.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
GitAnnexShell.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
GitRemoteTorAnnex.hs update licenses from GPL to AGPL 2019-03-13 15:48:14 -04:00
Option.hs remove --backend from global options 2022-06-29 13:33:25 -04:00
Seek.hs Improved handling of --time-limit when combined with -J 2022-09-22 12:54:52 -04:00
Usage.hs improve synopsis 2020-12-17 12:51:49 -04:00