Use pg_usleep() not sleep(), per Andrew Dunstan.

This commit is contained in:
Tom Lane 2004-11-17 17:50:20 +00:00
parent 5d72ef83fd
commit 77fe4fd656
1 changed files with 6 additions and 7 deletions

View File

@ -19,7 +19,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/postmaster/pgarch.c,v 1.10 2004/11/09 13:01:26 petere Exp $
* $PostgreSQL: pgsql/src/backend/postmaster/pgarch.c,v 1.11 2004/11/17 17:50:20 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -338,15 +338,14 @@ pgarch_MainLoop(void)
/*
* There shouldn't be anything for the archiver to do except to
* wait for a signal, so we could use pause(3) here... ...however,
* the archiver exists to protect our data, so she wakes up
* occasionally to allow herself to be proactive. In particular
* this avoids getting stuck if a signal arrives just before we
* enter sleep().
* wait for a signal, ... however, the archiver exists to
* protect our data, so she wakes up occasionally to allow
* herself to be proactive. In particular this avoids getting
* stuck if a signal arrives just before we sleep.
*/
if (!wakened)
{
sleep(PGARCH_AUTOWAKE_INTERVAL);
pg_usleep(PGARCH_AUTOWAKE_INTERVAL * 1000000L);
curtime = time(NULL);
if ((unsigned int) (curtime - last_copy_time) >=