Re: [PATCH] Add SIGCHLD catch to psql

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Stephen Frost <sfrost@snowman.net>
Cc: Robert Haas <robertmhaas@gmail.com>, David Fetter <david@fetter.org>, Bruce Momjian <bruce@momjian.us>, pgsql-hackers@postgresql.org
Date: 2010-05-17T16:24:37Z
Lists: pgsql-hackers
Stephen Frost <sfrost@snowman.net> writes:
> * Tom Lane (tgl@sss.pgh.pa.us) wrote:
>> If you're combining this with the FETCH_COUNT logic then it seems like
>> it'd be sufficient to check ferror(fout) once per fetch chunk, and just
>> fall out of that loop then.  I don't want psql issuing query cancels
>> on its own authority, either.

> Attached is a patch that just checks the result from the existing
> fflush() inside the FETCH_COUNT loop and drops out of that loop if we
> get an error from it.

I thought it might be about that simple once you went at it the right
way ;-).  However, I'd suggest checking ferror(pset.queryFout) as well
as the fflush result.  It's not clear to me whether fflush should be
counted on to report an error that actually occurred in a previous
fwrite.  (It's also unclear why fflush isn't documented to set the stream
error indicator on failure, but it isn't.)

			regards, tom lane