Commit be1cc695 authored by Bruce Momjian's avatar Bruce Momjian

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

instead of pg_usleep.

Backpatch to 8.0.X.
parent 7b3bf602
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
* Revisions by Christopher B. Browne, Liberty RMS * Revisions by Christopher B. Browne, Liberty RMS
* Win32 Service code added by Dave Page * Win32 Service code added by Dave Page
* *
* $PostgreSQL: pgsql/contrib/pg_autovacuum/pg_autovacuum.c,v 1.32 2005/05/11 14:53:43 momjian Exp $ * $PostgreSQL: pgsql/contrib/pg_autovacuum/pg_autovacuum.c,v 1.33 2005/05/11 17:57:56 momjian Exp $
*/ */
#include "postgres_fe.h" #include "postgres_fe.h"
...@@ -1749,7 +1749,16 @@ VacuumLoop(int argc, char **argv) ...@@ -1749,7 +1749,16 @@ VacuumLoop(int argc, char **argv)
fflush(LOGOUTPUT); fflush(LOGOUTPUT);
} }
pg_usleep(sleep_secs * 1000000L); /* 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 */ gettimeofday(&then, 0); /* Reset time counter */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment