pgsql: Use nanosleep() to implement pg_usleep(). - Mailing list pgsql-committers

From Thomas Munro
Subject pgsql: Use nanosleep() to implement pg_usleep().
Date
Msg-id E1pcJDH-003bvy-QS@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Use nanosleep() to implement pg_usleep().

The previous coding based on select() had commentary about historical
portability concerns.  Use POSIX nanosleep() instead.

This has independently been suggested a couple of times before, but
never managed to stick.  Since recent and proposed work removes other
uses of select(), and associated code and comments relating to its
non-portable interaction with signals, it seems like a good time to tidy
up this case, too.

Also modernize the explanation of why WaitLatch() is a better way to
wait.

Reviewed-by: Nathan Bossart <nathandbossart@gmail.com>
Suggested-by: Paul Guo <paulguo@gmail.com>
Suggested-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/CAAKRu_b-q0hXCBUCAATh0Z4Zi6UkiC0k2DFgoD3nC-r3SkR3tg%40mail.gmail.com
Discussion: https://postgr.es/m/CABQrizfxpBLZT5mZeE0js5oCh1tqEWvcGF3vMRCv5P-RwUY5dQ@mail.gmail.com
Discussion: https://postgr.es/m/4902.1552349020@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/a948e49e2ef11815be0b211723bfc5b53b7f75a8

Modified Files
--------------
src/port/pgsleep.c | 25 ++++++++++---------------
1 file changed, 10 insertions(+), 15 deletions(-)


pgsql-committers by date:

Previous
From: Amit Kapila
Date:
Subject: pgsql: Add the testcases for 89e46da5e5.
Next
From: Alvaro Herrera
Date:
Subject: pgsql: doc: Add lists of modules trusted/obsolete