On 1/6/2014 10:32 AM, Tom Lane wrote:
> Stephen Woodbridge <woodbri(at)swoodbridge(dot)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