diff --git a/contrib/worker_spi/worker_spi.c b/contrib/worker_spi/worker_spi.c
index ef19e4b39eb..14b5045caa4 100644
--- a/contrib/worker_spi/worker_spi.c
+++ b/contrib/worker_spi/worker_spi.c
@@ -344,8 +344,6 @@ _PG_init(void)
worker.bgw_start_time = BgWorkerStart_RecoveryFinished;
worker.bgw_restart_time = BGW_NEVER_RESTART;
worker.bgw_main = worker_spi_main;
- worker.bgw_sighup = NULL;
- worker.bgw_sigterm = NULL;
/*
* Now fill in worker-specific data, and do the actual registrations.
@@ -375,8 +373,6 @@ worker_spi_launch(PG_FUNCTION_ARGS)
worker.bgw_main = NULL; /* new worker might not have library loaded */
sprintf(worker.bgw_library_name, "worker_spi");
sprintf(worker.bgw_function_name, "worker_spi_main");
- worker.bgw_sighup = NULL; /* new worker might not have library loaded */
- worker.bgw_sigterm = NULL; /* new worker might not have library loaded */
snprintf(worker.bgw_name, BGW_MAXLEN, "worker %d", i);
worker.bgw_main_arg = Int32GetDatum(i);
diff --git a/doc/src/sgml/bgworker.sgml b/doc/src/sgml/bgworker.sgml
index 9d9b631ac1a..268e1cd2153 100644
--- a/doc/src/sgml/bgworker.sgml
+++ b/doc/src/sgml/bgworker.sgml
@@ -48,7 +48,6 @@
The structure BackgroundWorker is defined thus:
typedef void (*bgworker_main_type)(void *main_arg);
-typedef void (*bgworker_sighdlr_type)(SIGNAL_ARGS);
typedef struct BackgroundWorker
{
char bgw_name[BGW_MAXLEN];
@@ -59,8 +58,6 @@ typedef struct BackgroundWorker
char bgw_library_name[BGW_MAXLEN]; /* only if bgw_main is NULL */
char bgw_function_name[BGW_MAXLEN]; /* only if bgw_main is NULL */
Datum bgw_main_arg;
- bgworker_sighdlr_type bgw_sighup;
- bgworker_sighdlr_type bgw_sigterm;
} BackgroundWorker;
@@ -138,17 +135,6 @@ typedef struct BackgroundWorker
bgw_main is NULL.
-
- bgw_sighup and bgw_sigterm> are
- pointers to functions that will be installed as signal handlers for the new
- process. If bgw_sighup> is NULL, then SIG_IGN>
- is used; if bgw_sigterm> is NULL, a handler is installed that
- will terminate the process after logging a suitable message. These
- fields should not be used if bgw_main> is NULL; instead,
- the worker process should set its own signal handlers before calling
- BackgroundWorkerUnblockSignals().
-
-
Once running, the process can connect to a database by calling
BackgroundWorkerInitializeConnection(char *dbname, char *username).
This allows the process to run transactions and queries using the
@@ -163,7 +149,7 @@ typedef struct BackgroundWorker
Signals are initially blocked when control reaches the
bgw_main> function, and must be unblocked by it; this is to
- allow the process to further customize its signal handlers, if necessary.
+ allow the process to customize its signal handlers, if necessary.
Signals can be unblocked in the new process by calling
BackgroundWorkerUnblockSignals> and blocked by calling
BackgroundWorkerBlockSignals>.
diff --git a/src/backend/postmaster/bgworker.c b/src/backend/postmaster/bgworker.c
index 3728d85486d..ada24e905e6 100644
--- a/src/backend/postmaster/bgworker.c
+++ b/src/backend/postmaster/bgworker.c
@@ -247,8 +247,6 @@ BackgroundWorkerStateChange(void)
rw->rw_worker.bgw_restart_time = slot->worker.bgw_restart_time;
rw->rw_worker.bgw_main = slot->worker.bgw_main;
rw->rw_worker.bgw_main_arg = slot->worker.bgw_main_arg;
- rw->rw_worker.bgw_sighup = slot->worker.bgw_sighup;
- rw->rw_worker.bgw_sigterm = slot->worker.bgw_sigterm;
/* Initialize postmaster bookkeeping. */
rw->rw_backend = NULL;
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index d9b800c4e70..7894217ed52 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -5357,17 +5357,8 @@ do_start_bgworker(void)
pqsignal(SIGUSR1, bgworker_sigusr1_handler);
pqsignal(SIGFPE, SIG_IGN);
}
-
- /* SIGTERM and SIGHUP are configurable */
- if (worker->bgw_sigterm)
- pqsignal(SIGTERM, worker->bgw_sigterm);
- else
- pqsignal(SIGTERM, bgworker_die);
-
- if (worker->bgw_sighup)
- pqsignal(SIGHUP, worker->bgw_sighup);
- else
- pqsignal(SIGHUP, SIG_IGN);
+ pqsignal(SIGTERM, bgworker_die);
+ pqsignal(SIGHUP, SIG_IGN);
pqsignal(SIGQUIT, bgworker_quickdie);
InitializeTimeouts(); /* establishes SIGALRM handler */
diff --git a/src/include/postmaster/bgworker.h b/src/include/postmaster/bgworker.h
index 794eb390725..b260dc5e4e8 100644
--- a/src/include/postmaster/bgworker.h
+++ b/src/include/postmaster/bgworker.h
@@ -53,7 +53,6 @@
typedef void (*bgworker_main_type) (Datum main_arg);
-typedef void (*bgworker_sighdlr_type) (SIGNAL_ARGS);
/*
* Points in time at which a bgworker can request to be started
@@ -79,8 +78,6 @@ typedef struct BackgroundWorker
char bgw_library_name[BGW_MAXLEN]; /* only if bgw_main is NULL */
char bgw_function_name[BGW_MAXLEN]; /* only if bgw_main is NULL */
Datum bgw_main_arg;
- bgworker_sighdlr_type bgw_sighup;
- bgworker_sighdlr_type bgw_sigterm;
} BackgroundWorker;
/* Register a new bgworker during shared_preload_libraries */