Use WaitLatch, not pg_usleep, for delaying in pg_sleep().

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

Commit: a64ca63e59c11d8fe6db24eee3d82b61db7c2c83
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2013-06-15T20:23:24Z
Releases: 9.4.0
Use WaitLatch, not pg_usleep, for delaying in pg_sleep().

This avoids platform-dependent behavior wherein pg_sleep() might fail to be
interrupted by statement timeout, query cancel, SIGTERM, etc.  Also, since
there's no reason to wake up once a second any more, we can reduce the
power consumption of a sleeping backend a tad.

Back-patch to 9.3, since use of SA_RESTART for SIGALRM makes this a bigger
issue than it used to be.

Files

PathChange+/−
src/backend/utils/adt/misc.c modified +17 −10