On Wed, Dec 12, 2007 at 12:30:50AM -0500, Tom Lane wrote: > "Trevor Talbot" <[EMAIL PROTECTED]> writes: > > On 12/11/07, Tom Lane <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster