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

Re: Connections get not closed

From: Stefan Sperling <stsp_at_elego.de>
Date: Tue, 19 Jun 2012 01:16:06 +0200

On Mon, Jun 18, 2012 at 10:40:49AM +0200, Joern Mueller wrote:
> Hello all,
>
> I already sent this issue to the users list some days ago, but so far did not get any hints from there. As this unclosed connections are really causing problems for our server, I´m consulting the devlist now also with it. (Sorry for crossposting.)
>
> I'm using the svn 1.7.5 SDK on Win32 with VS2005. For some reason every call fetching data from the server opens up it's own socket connection but doesn't close it when data retrieval is finished. I tried this with for the functions svn_client_status4(), svn_client_update4() and svn_client_checkout3(), but I guess the problem is not specific to one or some functions. When examining the sockets in TCPView they are generally listed as 'established', some however even pop out of their host process and live on in the system process (PID:0) as 'waiting' for some time. When closing down the application the remaining connections also go the latter way. This behaviour results in hundreds of open connections (e.g. when checking the status of all files of a project) which is more than the server can/should handle.
>
> Please give me any advice if there is a possiblity to close svn connections by function call or by limiting the life span of connections when they are established. Of course I also will appreciate all other hints and ideas.
> Please CC my e-mailaddress to any replies, as I´m not receiving the dev-list.
>
> Kind regards and Thanks in advance
> Jörn Müller

Hi Jörn,

have you tried clearing (with svn_pool_clear()) or even destroying (with
svn_pool_destroy()) pools passed to the svn_client_* functions? That should
close sockets and also free other resource (temporary allocations, file
descriptors, etc.). You can clear a scratch_pool right after each call,
and a result_pool (if any) once you don't need the results anymore.
Received on 2012-06-19 01:16:43 CEST

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