r878240 | stsp | 2009-06-23 18:15:38 +0000 (Tue, 23 Jun 2009)
A hopefully final fix for issue #2580.
We now use the fix originally proposed by Damien Miller.
I've read through several discussions in various bug reports and
mailing lists, and I agree that this is the best solution.
This solution:
- Does not cause issue #3430.
- Avoids zombie processes left around by long-lived programs
using libsvn_ra_svn.
- Allows automatic ssh connection pooling to work as reliably
as possible by allowing the connection pooling master to close
its control socket when it receives a SIGTERM.
- Should work with most ssh implementations. If people use an
SSH implementation that does not use -q, they can override
the command we use to spawn the ssh process.
I hope this makes everyone happy.
Patch by: Damien Miller <djm@mindrot.org>
(tweaked by me, log message by me)
* subversion/libsvn_ra_svn/client.c
(find_tunnel_agent): Pass -q option to ssh by default.
(make_tunnel): Send SIGTERM to tunnel agent in order to reap
child processes in an almost friendly way.