Re: [hensa22@yahoo.es: Re: [pgsql-es-ayuda] SLL error 100% cpu] - Mailing list pgsql-hackers

From Magnus Hagander
Subject Re: [hensa22@yahoo.es: Re: [pgsql-es-ayuda] SLL error 100% cpu]
Date
Msg-id 20071212095549.GF11269@svr2.hagander.net
Whole thread Raw
In response to Re: [hensa22@yahoo.es: Re: [pgsql-es-ayuda] SLL error 100% cpu]  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [hensa22@yahoo.es: Re: [pgsql-es-ayuda] SLL error 100% cpu]  (Bruce Momjian <bruce@momjian.us>)
List pgsql-hackers
On Wed, Dec 12, 2007 at 12:30:50AM -0500, Tom Lane wrote:
> "Trevor Talbot" <quension@gmail.com> writes:
> > On 12/11/07, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> >> I dunno anything about how to fix the real problem (what's winsock error
> >> 10004?),
> 
> > WSAEINTR, "A blocking operation was interrupted by a call to
> > WSACancelBlockingCall."
> 
> Oh, then it's exactly the same thing as our bug #2829.
> 
> I opined in that thread that OpenSSL was broken because it failed to
> treat this as a retryable case like EINTR.  But not being much of a
> Windows person, that might be mere hot air.  Someone with a Windows
> build environment should try patching OpenSSL to treat WSAEINTR
> the same as Unix EINTR and see what happens ...

When I last looked at this (and this was some time ago), I suspected (and
still do) that the problem is in the interaction between our
socket-emulation-stuff (for signals) and openssl. I'm not entirely sure,
but I wanted to rewrite the SSL code so that *our* code is responsible for
aclling the actuall send()/recv(), and not OpenSSL. This would also fix the
fact that if an OpenSSL network operation ends up blocking, that process
can't receive any signals...

I didn't have time to get this done before feature-freeze though, and I
beleive the changes are large enough to qualify as such..

//Magnus


pgsql-hackers by date:

Previous
From: Josh Berkus
Date:
Subject: Re: WORM and Read Only Tables (v0.1)
Next
From: Dimitri Fontaine
Date:
Subject: Re: VLDB Features