Use WaitLatch, not pg_usleep, for delaying in pg_sleep().
Tom Lane <tgl@sss.pgh.pa.us>
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
| Path | Change | +/− |
|---|---|---|
| src/backend/utils/adt/misc.c | modified | +17 −10 |