From: Bruce Momjian Date: Wed, 11 May 2005 17:58:32 +0000 (+0000) Subject: Fix pg_autovacuum -s flag to handle values > 2000 by using sleep() X-Git-Tag: REL8_0_4~102 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=928d269abf2dd3e6f7832f6592ebfdd4f1fe70a4;p=thirdparty%2Fpostgresql.git Fix pg_autovacuum -s flag to handle values > 2000 by using sleep() instead of pg_usleep. Backpatch to 8.0.X. --- diff --git a/contrib/pg_autovacuum/pg_autovacuum.c b/contrib/pg_autovacuum/pg_autovacuum.c index dc8e73d4145..0152e764b32 100644 --- a/contrib/pg_autovacuum/pg_autovacuum.c +++ b/contrib/pg_autovacuum/pg_autovacuum.c @@ -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 */