Assert that WaitLatch's timeout is not more than INT_MAX milliseconds.

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

Commit: 14ddff44c22cb358775d5aad6953f0ce0fdb64cf
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2012-11-18T20:39:51Z
Releases: 9.3.0
Assert that WaitLatch's timeout is not more than INT_MAX milliseconds.

The behavior with larger values is unspecified by the Single Unix Spec.
It appears that BSD-derived kernels report EINVAL, although Linux does not.
If waiting for longer intervals is desired, the calling code has to do
something to limit the delay; we can't portably fix it here since "long"
may not be any wider than "int" in the first place.

Part of response to bug #7670, though this change doesn't fix that
(in fact, it converts the problem from an ERROR into an Assert failure).
No back-patch since it's just an assertion addition.

Files

PathChange+/−
src/backend/port/unix_latch.c modified +6 −4
src/backend/port/win32_latch.c modified +2 −1