From: Tom Lane Date: Sun, 7 Jan 2001 04:30:41 +0000 (+0000) Subject: Clear QueryCancel and ProcDiePending at start of proc_exit, to ensure X-Git-Tag: REL7_1_BETA3~19 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=542b7c644534ee3e555573de77cde8a79a9e9a0e;p=postgresql Clear QueryCancel and ProcDiePending at start of proc_exit, to ensure that leftover cancel/die requests cannot interfere with exit activities. --- diff --git a/src/backend/storage/ipc/ipc.c b/src/backend/storage/ipc/ipc.c index b111e65cb0..d592a17986 100644 --- a/src/backend/storage/ipc/ipc.c +++ b/src/backend/storage/ipc/ipc.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.58 2000/12/30 01:20:55 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.59 2001/01/07 04:30:41 tgl Exp $ * * NOTES * @@ -126,6 +126,14 @@ proc_exit(int code) */ proc_exit_inprogress = true; + /* + * Forget any pending cancel or die requests; we're doing our best + * to close up shop already. Note that the signal handlers will not + * set these flags again, now that proc_exit_inprogress is set. + */ + QueryCancel = false; + ProcDiePending = false; + if (DebugLvl > 1) elog(DEBUG, "proc_exit(%d)", code);