]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix pg_autovacuum -s flag to handle values > 2000 by using sleep()
authorBruce Momjian <bruce@momjian.us>
Wed, 11 May 2005 17:58:32 +0000 (17:58 +0000)
committerBruce Momjian <bruce@momjian.us>
Wed, 11 May 2005 17:58:32 +0000 (17:58 +0000)
instead of pg_usleep.

Backpatch to 8.0.X.

contrib/pg_autovacuum/pg_autovacuum.c

index dc8e73d4145e3a78d8044a338a29f8d95186b953..0152e764b32f0e23e4fd1a604f7652c4eb4c0ee6 100644 (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 */