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

From Tom Lane
Subject pgsql: Improve signal-handler lockout mechanism in timeout.c.
Date
Msg-id E1UHQ1u-0004vz-Fw@gemulon.postgresql.org
Whole thread Raw
List 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 by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Use pqsignal() in contrib programs rather than calling signal(2)
Next
From: Robert Haas
Date:
Subject: pgsql: Extend object-access hook machinery to support post-alter events