Fix syslogger to not fail when log_rotation_age exceeds 2^31 milliseconds.
We need to avoid calling WaitLatch with timeouts exceeding INT_MAX.
Fortunately a simple clamp will do the trick, since no harm is done if
the wait times out before it's really time to rotate the log file.
Per bug #7670 (probably bug #7545 is the same thing, too).
In passing, fix bogus definition of log_rotation_age's maximum value in
guc.c --- it was numerically right, but only because MINS_PER_HOUR and
SECS_PER_MINUTE have the same value.
Back-patch to 9.2. Before that, syslogger wasn't using WaitLatch.
Branch
------
master
Details
-------
http://git.postgresql.org/pg/commitdiff/d038966ddb918872700f9f21affbc84d6bc2c029
Modified Files
--------------
src/backend/postmaster/syslogger.c | 17 +++++++++++++++--
src/backend/utils/misc/guc.c | 2 +-
2 files changed, 16 insertions(+), 3 deletions(-)
pgsql-committers by date
| Next: | From: Tom Lane | Date: 2012-11-18 22:16:03 |
| Subject: pgsql: Limit values of archive_timeout, post_auth_delay,auth_delay.mil |
| Previous: | From: Tom Lane | Date: 2012-11-18 20:40:02 |
| Subject: pgsql: Assert that WaitLatch's timeout is not more than INT_MAXmillise |