On 2005-05-01, Peter Eisentraut <[EMAIL PROTECTED]> 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 ---------------------------(end of broadcast)--------------------------- TIP 6: Have you searched our list archives? http://archives.postgresql.org
