On 2005-05-01, Peter Eisentraut <peter_e@gmx.net> wrote:
> The problem, as I understand it, is that if you have a long-running
> query and the client process disappears, the query keeps running and
> holds whatever resources it may have until it finishes. In fact, it
> keeps sending data to the client and keeps ignoring the SIGPIPE it gets
> (in case of a Unix-domain socket connection).
Ignoring the SIGPIPE is exactly the right thing to do.
What's _not_ a good idea is ignoring the EPIPE error from write(), which
seems to currently be reported via ereport(COMMERROR) which doesn't try
and abort the query as far as I can tell.
--
Andrew, Supernews
http://www.supernews.com - individual and corporate NNTP services