Bob Denny wrote:
> The problem is that I would be patching part of the Apache Portable Runtime,
> something I have zero real-world experience with. There's no SIGTERM (as
> observed above) so my patch would be to just wait three seconds then kill. This
> would probably be met with ridicule by the webserver people who are used to
> their server spawning hundreds of subprocesses per millisecond :-) I believe
> that I would be frozen out of the Apache group for a patch especially since my
> patch would be Windows oriented and that would tag me as "one of those Windoze
> guys" :-) That's why I observed that it probably isn't practical.
Interesting point of view. I expect you didn't know that the "boss" of
the APR project happens to be "one of those Windoze guys" at the moment. :)
Rest assured, the people working on APR won't respond with a broadside
to an imperfect Windows-specific patch. We're not that ilk of petty L33+
H4x0rs; in fact we mostly don't want to have anything to do with L33+
H4x0rs. :) Contributions are always welcome.
>>> 1. Modify libsvn_ra_svn\client.c to use APR_KILL_NEVER *on Windows*
>>> instead of APR_KILL_ONCE.
>>> What do you think?
>> KILL_NEVER is not a good solution. If it was, it would already be done
>> this way, and we'd never have had to mess around with killing SSH
>> processes in the first place.
> I don't think this would present a problem on windows, and that is why I
> suggested ONLY doing this on Windows. I'm aware of the issues on Linux,
> though, and why you decided to do it to tunnel subprocesses.
> So it seems we're stuck: On one hand, we kill tunnels instantly, leaving
> sshd/svnserve processes running and accumulating on the remote end. This
> certainly happens. On the other hand, we don't kill tunnels and they don't exit
> cleanly and accumulate on the local system. It's less clear to me whether this
> is a rare or a frequent problem. I wonder how often this happens any more? Is
> this an ancient problem for which the solution has been in the code for a long
> time? Or is this a problem on Linux and not Windows? Maybe it doesn't exist on
> modern versions of Linux? Apart from patching apr, my feeling is that KILL_NEVER
> *ON WINDOWS ONLY* is the lesser of two evils (by a lot). KILL_ONCE (SIGTERM, 3
> sec., SIGKILL) is the best for Linux, etc.,and that's what you did in 1.6.5.
> Good one.
I think we need some hard data in order to make a reasonable decision
here. Bob, since you see and presumably can reproduce this
indeiscriminate proliferation of daemons; could you possibly test your
assumption that KILL_NEVER does the right thing on Windows? It would
require modifying and recompiling Subversion.
Received on 2009-10-17 10:37:06 CEST