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

Re: [PATCH] fix non interruptable hang in svn client when connecting

From: Malcolm Rowe <malcolm-svn-dev_at_farside.org.uk>
Date: 2005-08-26 10:56:56 CEST

On Fri, Aug 26, 2005 at 12:50:51AM +0100, Philip Martin wrote:
> BSDs traditionally avoid EINTR and automatically restart system calls
> interrupted by a signal (and glibc on Linux has SA_RESTART to control
> the behaviour). So APR might never see EINTR as the OS could be
> automatically restarting system calls with an appropriately reduced
> timeout.

Ah, yes. And on Linux, that's exactly what's happening. I was getting
confused by the output of strace (connect() 'returns' ERESTARTSYS, but
it doesn't really make it back to the client because glibc restarts the call,
hence (somehow, somewhere) the reduced timeout).

It's possible that the same thing is happening on Darwin (though I can't test
at the moment, and I really don't want to hang the machine _again_), but I
thought I remembered ktrace indicating an EINTR return from connect().

In any case, I sent a bugreport to the darwin-kernel mailing list. I'll post
back here if I get anything informative from that.

Regards,
Malcolm

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Aug 26 10:57:50 2005

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.