pgsql: Improve signal-handler lockout mechanism in timeout.c.

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Improve signal-handler lockout mechanism in timeout.c.
Дата
Msg-id E1UHQ1u-0004vz-Fw@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Improve signal-handler lockout mechanism in timeout.c.

Rather than doing a fairly-expensive setitimer() call to prevent interrupts
from happening, let's just invent a simple boolean flag that the signal
handler is required to check.  This is not only faster but considerably
more robust than before, since the previous code effectively assumed that
only ITIMER_REAL events would ever fire the SIGALRM handler, which is
obviously something that can be broken easily by third-party code.

Zoltán Böszörményi and Tom Lane

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/6ac7facdd3990baf47efc124e9d7229422a06452

Modified Files
--------------
src/backend/utils/misc/timeout.c |  177 ++++++++++++++++++++++---------------
1 files changed, 105 insertions(+), 72 deletions(-)


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Use pqsignal() in contrib programs rather than calling signal(2)
Следующее
От: Robert Haas
Дата:
Сообщение: pgsql: Extend object-access hook machinery to support post-alter events