Damien Miller <djm@mindrot.org>


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.