> > db=> select count(*) from pg_class;
> > pqReadData() -- backend closed the channel unexpectedly.
> > This probably means the backend terminated abnormally
> > before or while processing the request.
> > The connection to the server was lost. Attempting reset: Failed.
> > !>
>
> > Looks much more reasonable. But I do not get messages about shutdown.
> > With a patch enclosed it will perform like with ECONNRESET.
> > Shouldn't I emulate EOF when EPIPE?
>
> You *are* emulating EOF --- with that check in place, pqReadData
> should respond to EPIPE just like it does to a normal EOF. I don't
> understand why you aren't seeing the same results I do.
Hmmm... Looks like I get EPIPE just after connection reset, but you are able
to read the rest of the data... Looks like Linux kernel problem again...
> How exactly are you testing this? I'm doing it with a plain "kill"
> on the connected backend process. If you were using "kill -9"
> or some such, that'd explain it --- the backend doesn't have an
> opportunity to send the "I'm shutting down" message in that case.
kill -TERM for sure.
--
Sincerely Yours,
Denis Perchine
----------------------------------
E-Mail: dyp@perchine.com
HomePage: http://www.perchine.com/dyp/
FidoNet: 2:5000/120.5
----------------------------------