pgsql: Use nanosleep() to implement pg_usleep().

From: Thomas Munro <tmunro(at)postgresql(dot)org>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Use nanosleep() to implement pg_usleep().
Date: 2023-03-15 04:58:12
Message-ID: E1pcJDH-003bvy-QS@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)gmail(dot)com>
Suggested-by: Paul Guo <paulguo(at)gmail(dot)com>
Suggested-by: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Alvaro Herrera 2023-03-15 08:35:56 pgsql: doc: Add lists of modules trusted/obsolete
Previous Message Amit Kapila 2023-03-15 04:13:56 pgsql: Add the testcases for 89e46da5e5.