1
0
mirror of https://github.com/postgres/postgres.git synced 2025-11-10 17:42:29 +03:00

Centralize implementation of delay code by creating a pg_usleep()

subroutine in src/port/pgsleep.c.  Remove platform dependencies from
miscadmin.h and put them in port.h where they belong.  Extend recent
vacuum cost-based-delay patch to apply to VACUUM FULL, ANALYZE, and
non-btree index vacuuming.

By the way, where is the documentation for the cost-based-delay patch?
This commit is contained in:
Tom Lane
2004-02-10 03:42:45 +00:00
parent 87bd956385
commit 58f337a343
16 changed files with 138 additions and 154 deletions

View File

@@ -8,7 +8,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.157 2004/02/10 01:55:25 tgl Exp $
* $PostgreSQL: pgsql/src/backend/storage/buffer/bufmgr.c,v 1.158 2004/02/10 03:42:45 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -44,7 +44,6 @@
#include <math.h>
#include <signal.h>
#include <sys/file.h>
#include <sys/time.h>
#include <unistd.h>
#include "lib/stringinfo.h"
@@ -972,7 +971,7 @@ BufferBackgroundWriter(void)
* Nap for the configured time or sleep for 10 seconds if
* there was nothing to do at all.
*/
PG_USLEEP((n > 0) ? BgWriterDelay * 1000 : 10000000);
pg_usleep((n > 0) ? BgWriterDelay * 1000L : 10000000L);
}
}

View File

@@ -9,13 +9,12 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/storage/lmgr/s_lock.c,v 1.24 2004/01/09 21:08:49 momjian Exp $
* $PostgreSQL: pgsql/src/backend/storage/lmgr/s_lock.c,v 1.25 2004/02/10 03:42:45 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include <sys/time.h>
#include <unistd.h>
#include "storage/s_lock.h"
@@ -96,7 +95,7 @@ s_lock(volatile slock_t *lock, const char *file, int line)
if (++delays > NUM_DELAYS)
s_lock_stuck(lock, file, line);
PG_USLEEP(cur_delay * 10000);
pg_usleep(cur_delay * 10000L);
#if defined(S_LOCK_TEST)
fprintf(stdout, "*");