Re: Terminating a backend

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: Raw Message | Whole Thread | 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

In response to

Responses

Browse pgsql-hackers by date

  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

Browse pgsql-patches by date

  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