]> Sergey Matveev's repositories - public-inbox.git/commit
git_async_cat: unref pipes on EOF from git->cleanup
authorEric Wong <e@yhbt.net>
Mon, 6 Jul 2020 06:11:02 +0000 (06:11 +0000)
committerEric Wong <e@yhbt.net>
Mon, 6 Jul 2020 20:01:15 +0000 (20:01 +0000)
commit2c6e8b10e3f9f3b047009126426ce634c8f29a23
tree81d81d92320de52fbe432e719622d2fc26789819
parent89ac7eca5e1d17d7dc949b2fd0a59a5e83abf90f
git_async_cat: unref pipes on EOF from git->cleanup

We avoided a managed circular reference in 10ee3548084c125f
but introduced a pipe FD leak, instead.  So handle the EOF
we get when the "git cat-file --batch" process exits and
closes its stdout FD.

v2: remove ->close entirely.  PublicInbox::Git->cleanup
handles all cleanup.  This prevents us from inadvertantly
deleting the {async_cat} field associated with a different
pipe than the one GAC is monitoring.

Fixes: 10ee3548084c125f ("git_async_cat: remove circular reference")
lib/PublicInbox/GitAsyncCat.pm