> On 24 Aug 2018, at 03:37, Tom Lane <t...@sss.pgh.pa.us> wrote: > > Thomas Munro <thomas.mu...@enterprisedb.com> writes: >> On Fri, Aug 24, 2018 at 6:53 AM, Tom Lane <t...@sss.pgh.pa.us> wrote: >>> I think this is just a timing problem: the signal gets sent, >>> but it might or might not get received before the current statement ends. > >> How about we just wait forever if the function manages to return? >> select case when pg_cancel_backend(pg_backend_pid(), '...') then >> pg_sleep('infinity') end; > > Hm, that might work. I'd pick a long but not infinite timeout --- maybe > 60 sec would be good.
I like that idea, so I’ve updated the patch to see what the cfbot thinks of it. cheers ./daniel
0001-Refactor-backend-signalling-code-v15.patch
Description: Binary data
0002-Support-optional-message-in-backend-cancel-terminate-v15.patch
Description: Binary data