aboutsummaryrefslogtreecommitdiff
path: root/src/backend/storage/ipc/sinvaladt.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/storage/ipc/sinvaladt.c')
-rw-r--r--src/backend/storage/ipc/sinvaladt.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/backend/storage/ipc/sinvaladt.c b/src/backend/storage/ipc/sinvaladt.c
index d05a651097f..35931f00a14 100644
--- a/src/backend/storage/ipc/sinvaladt.c
+++ b/src/backend/storage/ipc/sinvaladt.c
@@ -8,17 +8,15 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/storage/ipc/sinvaladt.c,v 1.41 2001/09/29 04:02:24 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/storage/ipc/sinvaladt.c,v 1.42 2001/11/04 19:55:31 tgl Exp $
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
-#include <signal.h>
-#include <unistd.h>
-
#include "miscadmin.h"
#include "storage/backendid.h"
+#include "storage/pmsignal.h"
#include "storage/proc.h"
#include "storage/sinvaladt.h"
@@ -205,11 +203,11 @@ SIInsertDataEntry(SISeg *segP, SharedInvalidationMessage *data)
/*
* Try to prevent table overflow. When the table is 70% full send a
- * SIGUSR2 (ordinarily a NOTIFY signal) to the postmaster, which will
- * send it back to all the backends. This will force idle backends to
- * execute a transaction to look through pg_listener for NOTIFY
- * messages, and as a byproduct of the transaction start they will
- * read SI entries.
+ * WAKEN_CHILDREN request to the postmaster. The postmaster will send
+ * a SIGUSR2 signal (ordinarily a NOTIFY signal) to all the backends.
+ * This will force idle backends to execute a transaction to look through
+ * pg_listener for NOTIFY messages, and as a byproduct of the transaction
+ * start they will read SI entries.
*
* This should never happen if all the backends are actively executing
* queries, but if a backend is sitting idle then it won't be starting
@@ -222,7 +220,7 @@ SIInsertDataEntry(SISeg *segP, SharedInvalidationMessage *data)
{
if (DebugLvl >= 1)
elog(DEBUG, "SIInsertDataEntry: table is 70%% full, signaling postmaster");
- kill(getppid(), SIGUSR2);
+ SendPostmasterSignal(PMSIGNAL_WAKEN_CHILDREN);
}
/*