On Tue, Apr 7, 2015 at 2:32 PM, Tom Lane <t...@sss.pgh.pa.us> wrote: > That seems like (a) a hack, and (b) not likely to solve the problem > completely, unless you leave interrupts held throughout proc_exit(), > which would create all sorts of opportunities for corner case bugs > during on_proc_exit hooks. >
Hmm, looks like proc_exit() already taken care of this by setting proc_exit_inprogress and StatementCancelHandler() respects it. Actually, in quickdie(), I found a similar practice for the same reason: /* * Prevent interrupts while exiting; though we just blocked signals that * would queue new interrupts, one may have been pending. We don't want a * quickdie() downgraded to a mere query cancel. */ HOLD_INTERRUPTS(); I do feel that we have too many functions instructing how to handle interrupts and they are subtle - I just found a new friend HOLD_CANCEL_INTERRUPTS :-( Regards, Qingqing -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers