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 по дате отправления: