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

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

From
Tom Lane
Date:
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(-)