[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Svnserve wrapper for running as a Windows service

From: Branko Čibej <brane_at_xbc.nu>
Date: 2006-02-21 00:52:32 CET

Max Bowsher wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Simon Large wrote:
>
>> Arlie Davis wrote:
>>
>>> Why is the likelihood of making svnserve itself run as a service
>>> "close to
>>> zero"?
>>>
>> It has come up before and been rejected.
>> http://svn.haxx.se/dev/archive-2005-05/0240.shtml
>>
>
> That thread is rather muddled - I think the overall view was that it
> would be nice to have, but unlikely that anyone would step up to do the
> work. Now that we have a prospective volunteer....
>
>
>>> I will volunteer to write new support for svnserve to run as a native
>>> Windows service. I've written literally dozens of Win32 services, I know
>>> how to do it, and I will contribute my work without any license
>>> restrictions.
>>>
>> Well that would be the best solution of all IMHO :-)
>>
>
> That would, indeed, be excellent! :-)
>
> If you decide to proceed with this, please begin by defining a command
> line interface to support the feature, and post it on this mailing list
> for design discussion.
>
> Things to consider:
>
> Need to be able to specify command line options for the service invocation.
>
> (Optional) Report errors in arguments at service registration time,
> rather than service run-time. (e.g. --inetd or --tunnel invalid for
> services.)
>
> (Optional) Support multiple service instances - e.g. for use on a
> multi-homed server.
>
I'd add another requirement, not optional at all:

When run as a service, svnserve should *not* register with the service
manager and start handling svn requests. It should spawn another copy of
itself for request handling, and just monitor the worker process in the
service part. Why? Because, if the "real" server crashes, the watchdog
can notice that and restart it. You can't persuade Windows' service
manager to do something like that, and it would be nice if we didn't
require an administrator's manual intervention in the case of a "benign"
crash.

FWIW, the FireDaemon service manager has similar functionality, with
throttles to control the total number of crashes allowed and their
frequency (e.g., if it's once a week, keep restarting the process; but
it it's every five minutes, yell for help and stop).

-- Brane

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Tue Feb 21 11:21:58 2006

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.