Gregory Stark wrote: > >> > Add pg_terminate_backend() to allow terminating only a single session. > > I'm interested in this because I was already looking for a solution to the > "out of signals" problem we have. > > I think we could expand this by having a bunch of boolean flags, one each for > different conditions including the sinval processing conditions, interrupt, > info, and terminate. (Any more?) > > The two things we would have to check to be sure of is: > > 1) Do we care about how many times events are processed? Ie, if you press > interrupt twice is it important that that be handled as an interrupt twice? It > doesn't work that way currently for interrupt but are any of the other > conditions sensitive to this? I don't think so.
Not that I can think of. > 2) Do we care what order things happen in? Ie, if you send an info request and > then a cancel request is it ok if the cancel is handled first. I don't see why > not myself. And if it's a terminate request we *clear* don't want to bother > handling any other events first. I don't think we care. > It seems to me we could replace all of the above with either SIGINT or USR1 > and have a bunch of boolean flags in MyProc. I'm not sure of the implication > for sinval processing of having to get a whole bunch of LWLocks though. Keep in mind PGPROC->terminate was easier because once it was set it was never cleared. If you need to clear the flag and keep going the code is going to need to be a little more sophisticated to avoid lost interrupts. -- Bruce Momjian <[EMAIL PROTECTED]> http://momjian.us EnterpriseDB http://enterprisedb.com + If your life is a hard drive, Christ can be your backup. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers