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