pgsql: Prevent interrupts while reporting non-ERROR elog messages.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Prevent interrupts while reporting non-ERROR elog messages.
Дата
Msg-id E1WOGU8-0003il-0i@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Prevent interrupts while reporting non-ERROR elog messages.

This should eliminate the risk of recursive entry to syslog(3), which
appears to be the cause of the hang reported in bug #9551 from James
Morton.

Arguably, the real problem here is auth.c's willingness to turn on
ImmediateInterruptOK while executing fairly wide swaths of backend code.
We may well need to work at narrowing the code ranges in which the
authentication_timeout interrupt is enabled.  For the moment, though,
this is a cheap and reasonably noninvasive fix for a field-reported
failure; the other approach would be complex and not necessarily
bug-free itself.

Back-patch to all supported branches.

Branch
------
REL9_3_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/41bd2cf55c7ca0d51832afb848da34ebc9a4930e

Modified Files
--------------
src/backend/utils/error/elog.c |   38 +++++++++++++++++++++++++-------------
1 file changed, 25 insertions(+), 13 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Prevent interrupts while reporting non-ERROR elog messages.
Следующее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Fix race condition in B-tree page deletion.