On Sun, Dec 27, 2009 at 10:42 PM, Simon Riggs <si...@2ndquadrant.com> wrote: > Thanks for the report. I'll see about a fix.
In the end we are about to use SIGINT for two use cases: - cancel an idle transaction - cancel a running query Previously a backend that was DoingCommandRead == true didn't do anything upon reception of SIGINT, now it aborts either the running query or the idle transaction, which is why Kris's example behaves differently now. If we use the same signal for both cases, the receiving backend cannot tell what the intention of the sending backend was. That's why I proposed to make SIGINT similar to SIGUSR1 where we write a reason to a shared memory structure first and then send the signal (see http://archives.postgresql.org/pgsql-hackers/2009-12/msg02067.php from a few days ago). There was also some dicussion about how to communicate the cancellation back to the client when its idle transaction got aborted. I implemented what I thought was the conclusion of the discussion but haven't received a reply on it yet. Joachim -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers