Re: How to check for pending CancelRequest from C/C++ function

Поиск
Список
Период
Сортировка
От Stephen Woodbridge
Тема Re: How to check for pending CancelRequest from C/C++ function
Дата
Msg-id 52CADC12.2080204@swoodbridge.com
обсуждение исходный текст
Ответ на Re: How to check for pending CancelRequest from C/C++ function  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: How to check for pending CancelRequest from C/C++ function
Список pgsql-general
On 1/6/2014 10:32 AM, Tom Lane wrote:
> Stephen Woodbridge <woodbri@swoodbridge.com> writes:
>> I writing some functions for postgresql extension in C/C++ and I would
>> like to be able to check for a pending CancelRequest from the frontend
>> so I can take appropriate action to honor this request.
>
> Put "CHECK_FOR_INTERRUPTS();" in some suitably safe place.

Thanks! Looking at this macro its doing

if (InterruptPending)
     ProcessInterrupts();

Am I correct in assuming that ProcessInterrupts() may not return?

So if I need to clean up then I should check do something like:

if (InterruptPending) {
     /* cleanup here */
     ProcessInterrupts();
}

Similarly if I'm in C++ code I can probably include miscadmin.h as an
extern C to get access to this.

Thanks again,
   -Steve


В списке pgsql-general по дате отправления:

Предыдущее
От: Keith Fiske
Дата:
Сообщение: Re: Planning error in dynamic string creation in plpgsql
Следующее
От: Martijn van Oosterhout
Дата:
Сообщение: Re: WAL archive cleanup om master