| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | pgsql-committers(at)postgresql(dot)org |
| Subject: | pgsql: Don't let timeout interrupts happen unless ImmediateInterruptOK |
| Date: | 2013-12-13 16:50:55 |
| Message-ID: | E1VrVx1-0008Mg-27@gemulon.postgresql.org |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-committers |
Don't let timeout interrupts happen unless ImmediateInterruptOK is set.
Serious oversight in commit 16e1b7a1b7f7ffd8a18713e83c8cd72c9ce48e07:
we should not allow an interrupt to take control away from mainline code
except when ImmediateInterruptOK is set. Just to be safe, let's adopt
the same save-clear-restore dance that's been used for many years in
HandleCatchupInterrupt and HandleNotifyInterrupt, so that nothing bad
happens if a timeout handler invokes code that tests or even manipulates
ImmediateInterruptOK.
Per report of "stuck spinlock" failures from Christophe Pettus, though
many other symptoms are possible. Diagnosis by Andres Freund.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/e8312b4f03315a98a987997e05a6e9d6d8d84ddf
Modified Files
--------------
src/backend/utils/misc/timeout.c | 36 +++++++++++++++++++++++-------------
1 file changed, 23 insertions(+), 13 deletions(-)
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andres Freund | 2013-12-13 17:08:32 | Re: pgsql: Fix a couple of bugs in MultiXactId freezing |
| Previous Message | Alvaro Herrera | 2013-12-13 16:39:20 | Re: pgsql: Fix a couple of bugs in MultiXactId freezing |