| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Bruce Momjian <bruce(at)momjian(dot)us> |
| Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Terminating a backend |
| Date: | 2008-03-10 17:57:45 |
| Message-ID: | 6402.1205171865@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers pgsql-patches |
Bruce Momjian <bruce(at)momjian(dot)us> writes:
> Bruce Momjian wrote:
>> When we get the termination signal, why can't we just set a global
>> boolean, do a query cancel, and in the setjmp() code block check the
>> global and exit --- at that stage we know we have released all locks and
>> can exit cleanly.
> Should I add this as a TODO? Seems so. Tom commented in the patches
> queue that it will not work but I don't understand why.
The problem with treating it like elog(ERROR) is that you're at the
mercy of user-defined code as to whether you'll actually exit or not.
UDFs can trap elog(ERROR).
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alvaro Herrera | 2008-03-10 18:17:49 | Re: Terminating a backend |
| Previous Message | Bruce Momjian | 2008-03-10 17:48:26 | Re: Terminating a backend |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alvaro Herrera | 2008-03-10 18:17:49 | Re: Terminating a backend |
| Previous Message | Bruce Momjian | 2008-03-10 17:48:26 | Re: Terminating a backend |