Fix pg_autovacuum -s flag to handle values > 2000 by using sleep()

instead of pg_usleep.

Backpatch to 8.0.X.
This commit is contained in:
Bruce Momjian 2005-05-11 17:58:32 +00:00
parent b5e4dc25f1
commit 928d269abf

View File

@ -4,7 +4,7 @@
* Revisions by Christopher B. Browne, Liberty RMS
* Win32 Service code added by Dave Page
*
* $PostgreSQL: pgsql/contrib/pg_autovacuum/pg_autovacuum.c,v 1.27.4.3 2005/04/03 00:02:03 tgl Exp $
* $PostgreSQL: pgsql/contrib/pg_autovacuum/pg_autovacuum.c,v 1.27.4.4 2005/05/11 17:58:32 momjian Exp $
*/
#include "postgres_fe.h"
@ -1743,7 +1743,16 @@ VacuumLoop(int argc, char **argv)
fflush(LOGOUTPUT);
}
pg_usleep(sleep_secs * 1000000); /* Larger Pause between outer loops */
/* Larger Pause between outer loops */
/*
* pg_usleep() is wrong here because its maximum is ~2000 seconds,
* and we don't need signal interruptability on Win32 here.
*/
#ifndef WIN32
sleep(sleep_secs); /* Unix sleep is seconds */
#else
sleep(sleep_secs * 1000); /* Win32 sleep() is milliseconds */
#endif
gettimeofday(&then, 0); /* Reset time counter */