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

Re: Diffs for running svnserve as a Win32 service

From: Joseph Galbraith <galb_at_vandyke.com>
Date: 2006-02-24 23:20:23 CET

Arlie Davis wrote:
> Ok, so tell me what you would consider sufficient for this patch.

I believe the suggestion was to try calling
apr_socket_close() and tweak main to not
touch the socket structure if an error is
returned from accept() [except it isn't accept
that main is in, is it... it's select if I
remember correctly.]

I've thought about it, I don't think it will work.

Consider the following scenario: main is just about to call
select, and the service thread calls apr_socket_close().
BOOM!

I don't think there is any good way to synchronize this.

About the only good way I can think of to achieve a clean
shutdown with the current architecture is to set a flag telling
the main loop to exit, and then do something to cause select to
return.

Closing the socket handle is one way to cause select to return;
another way might be to simply connect to ourself.

Thanks,

Joseph

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Feb 24 23:20:21 2006

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