summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Joey Hess <joey@kitenet.net>2011-10-27 14:48:53 -0400
committerGravatar Joey Hess <joey@kitenet.net>2011-10-27 14:55:07 -0400
commitf84d66fa15bc746517ba61f2c05beade59c846e9 (patch)
tree305bc642fa49c31ec205ee436b79ddc39ee540ab
parentc30366e95aa8967112cec0103393ea2b39ddf1c6 (diff)
reap in onLocal
Each onLocal call involves a new Annex state, so needs to clean up after it.
-rw-r--r--Remote/Git.hs4
-rw-r--r--debian/changelog2
-rw-r--r--doc/bugs/fails_to_handle_lot_of_files.mdwn4
3 files changed, 9 insertions, 1 deletions
diff --git a/Remote/Git.hs b/Remote/Git.hs
index 4285be653..fd3a61243 100644
--- a/Remote/Git.hs
+++ b/Remote/Git.hs
@@ -157,7 +157,9 @@ onLocal r a = do
-- No need to update the branch; its data is not used
-- for anything onLocal is used to do.
Annex.Branch.disableUpdate
- a
+ ret <- a
+ liftIO $ Git.reap
+ return ret
keyUrl :: Git.Repo -> Key -> String
keyUrl r key = Git.repoLocation r ++ "/" ++ annexLocation key
diff --git a/debian/changelog b/debian/changelog
index b17de57ff..c32ad3950 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
git-annex (3.20111026) UNRELEASED; urgency=low
* Sped up some operations on remotes that are on the same host.
+ * copy --to: Fixed leak when ran on many files and a remote on the same
+ host.
-- Joey Hess <joeyh@debian.org> Thu, 27 Oct 2011 13:58:53 -0400
diff --git a/doc/bugs/fails_to_handle_lot_of_files.mdwn b/doc/bugs/fails_to_handle_lot_of_files.mdwn
index bc5d92aec..470a5180f 100644
--- a/doc/bugs/fails_to_handle_lot_of_files.mdwn
+++ b/doc/bugs/fails_to_handle_lot_of_files.mdwn
@@ -439,3 +439,7 @@ Please note the "_n TIMES_" comments. It's how often I got the same error messag
4455
% find source -type f | wc -l
13554
+
+> Fixed unreaped process leak.
+> (This has nothing to do with NTFS). Ran test with 10k files
+> [[done]] --[[Joey]]