aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/async.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2013-12-13 11:50:15 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2013-12-13 11:50:15 -0500
commite8312b4f03315a98a987997e05a6e9d6d8d84ddf (patch)
treeef883de581268127f6f30bddd46f0ba2566f7d3e /src/backend/commands/async.c
parent50e547096c4858a68abf09894667a542cc418315 (diff)
downloadpostgresql-e8312b4f03315a98a987997e05a6e9d6d8d84ddf.tar.gz
postgresql-e8312b4f03315a98a987997e05a6e9d6d8d84ddf.zip
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.
Diffstat (limited to 'src/backend/commands/async.c')
0 files changed, 0 insertions, 0 deletions