It turns out the problem is that port/pipe.c is compiled with -DFRONTEND
and include/port/win32.h wraps the recv to pgwin32_recv macro in a
#ifndef FRONTEND.  We've actually been using the WinSock recv function
directly (verified with gcc -E).

If somebody else could take over actually fixing this, that would be
great.  As I mentioned before, we're heading away from Windows for the
time being.


>>> Peter Brant 04/19/06 5:16 pm >>>
I'm still planning on doing this.

I did add a loop around the second WSARecv in pgwin32_recv() as that
was our best guess about where the error was coming from.  As it turns
out, that's apparently not the case and I haven't had a chance to come
back to it yet.

It might be that my original patch (putting the loop in piperead()) is
the best approach.  All indications are that it fixes the problem and
it's the lowest impact change.  I'm still quite curious what API call is
returning the WSAEWOULDBLOCK though...


>>> Bruce Momjian <> 04/19/06 5:07 am >>>
Would someone generate a patch that includes all the new ideas and
it here?  Thanks.

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to