Fix syslogger to not fail when log_rotation_age exceeds 2^31 milliseconds.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: d038966ddb918872700f9f21affbc84d6bc2c029
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-11-18T21:16:39Z
Releases: 9.3.0
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.

Files

PathChange+/−
src/backend/postmaster/syslogger.c modified +15 −2
src/backend/utils/misc/guc.c modified +1 −1