summaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/access/transam/xlog.c1
-rw-r--r--src/backend/libpq/pqsignal.c67
-rw-r--r--src/backend/main/main.c3
-rw-r--r--src/backend/port/win32/signal.c8
-rw-r--r--src/backend/port/win32/timer.c2
-rw-r--r--src/backend/replication/walsender.c1
-rw-r--r--src/backend/utils/misc/timeout.c1
7 files changed, 9 insertions, 74 deletions
diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
index a02eebcb27..8e7341ba45 100644
--- a/src/backend/access/transam/xlog.c
+++ b/src/backend/access/transam/xlog.c
@@ -35,7 +35,6 @@
#include "catalog/catversion.h"
#include "catalog/pg_control.h"
#include "catalog/pg_database.h"
-#include "libpq/pqsignal.h"
#include "miscadmin.h"
#include "pgstat.h"
#include "postmaster/bgwriter.h"
diff --git a/src/backend/libpq/pqsignal.c b/src/backend/libpq/pqsignal.c
index d088daeb7d..b621ba7add 100644
--- a/src/backend/libpq/pqsignal.c
+++ b/src/backend/libpq/pqsignal.c
@@ -1,8 +1,7 @@
/*-------------------------------------------------------------------------
*
* pqsignal.c
- * reliable BSD-style signal(2) routine stolen from RWW who stole it
- * from Stevens...
+ * Backend signal(2) support (see also src/port/pqsignal.c)
*
* Portions Copyright (c) 1996-2013, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
@@ -11,38 +10,11 @@
* IDENTIFICATION
* src/backend/libpq/pqsignal.c
*
- * NOTES
- * This shouldn't be in libpq, but the monitor and some other
- * things need it...
- *
- * A NOTE ABOUT SIGNAL HANDLING ACROSS THE VARIOUS PLATFORMS.
- *
- * pg_config.h defines the macro HAVE_POSIX_SIGNALS for some platforms and
- * not for others. This file and pqsignal.h use that macro to decide
- * how to handle signalling.
- *
- * signal(2) handling - this is here because it affects some of
- * the frontend commands as well as the backend processes.
- *
- * Ultrix and SunOS provide BSD signal(2) semantics by default.
- *
- * SVID2 and POSIX signal(2) semantics differ from BSD signal(2)
- * semantics. We can use the POSIX sigaction(2) on systems that
- * allow us to request restartable signals (SA_RESTART).
- *
- * Some systems don't allow restartable signals at all unless we
- * link to a special BSD library.
- *
- * We devoutly hope that there aren't any systems that provide
- * neither POSIX signals nor BSD signals. The alternative
- * is to do signal-handler reinstallation, which doesn't work well
- * at all.
- * ------------------------------------------------------------------------*/
+ * ------------------------------------------------------------------------
+ */
#include "postgres.h"
-#include <signal.h>
-
#include "libpq/pqsignal.h"
@@ -145,36 +117,3 @@ pqinitmask(void)
sigmask(SIGWINCH) | sigmask(SIGFPE);
#endif
}
-
-
-/* Win32 signal handling is in backend/port/win32/signal.c */
-#ifndef WIN32
-
-/*
- * Set up a signal handler
- */
-pqsigfunc
-pqsignal(int signo, pqsigfunc func)
-{
-#if !defined(HAVE_POSIX_SIGNALS)
- return signal(signo, func);
-#else
- struct sigaction act,
- oact;
-
- act.sa_handler = func;
- sigemptyset(&act.sa_mask);
- act.sa_flags = 0;
- if (signo != SIGALRM)
- act.sa_flags |= SA_RESTART;
-#ifdef SA_NOCLDSTOP
- if (signo == SIGCHLD)
- act.sa_flags |= SA_NOCLDSTOP;
-#endif
- if (sigaction(signo, &act, &oact) < 0)
- return SIG_ERR;
- return oact.sa_handler;
-#endif /* !HAVE_POSIX_SIGNALS */
-}
-
-#endif /* WIN32 */
diff --git a/src/backend/main/main.c b/src/backend/main/main.c
index 1173bda620..8d4218e00b 100644
--- a/src/backend/main/main.c
+++ b/src/backend/main/main.c
@@ -41,9 +41,6 @@
#include "utils/help_config.h"
#include "utils/pg_locale.h"
#include "utils/ps_status.h"
-#ifdef WIN32
-#include "libpq/pqsignal.h"
-#endif
const char *progname;
diff --git a/src/backend/port/win32/signal.c b/src/backend/port/win32/signal.c
index 2c406bc7f2..8b2d98141b 100644
--- a/src/backend/port/win32/signal.c
+++ b/src/backend/port/win32/signal.c
@@ -13,7 +13,7 @@
#include "postgres.h"
-#include <libpq/pqsignal.h>
+#include "libpq/pqsignal.h"
/*
* These are exported for use by the UNBLOCKED_SIGNAL_QUEUE() macro.
@@ -158,7 +158,11 @@ pqsigsetmask(int mask)
}
-/* signal manipulation. Only called on main thread, no sync required */
+/*
+ * Unix-like signal handler installation
+ *
+ * Only called on main thread, no sync required
+ */
pqsigfunc
pqsignal(int signum, pqsigfunc handler)
{
diff --git a/src/backend/port/win32/timer.c b/src/backend/port/win32/timer.c
index 1394104456..333beb44a8 100644
--- a/src/backend/port/win32/timer.c
+++ b/src/backend/port/win32/timer.c
@@ -18,8 +18,6 @@
#include "postgres.h"
-#include "libpq/pqsignal.h"
-
/* Communication area for inter-thread communication */
typedef struct timerCA
diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c
index 266cd64f6f..c05bb1e081 100644
--- a/src/backend/replication/walsender.c
+++ b/src/backend/replication/walsender.c
@@ -49,7 +49,6 @@
#include "funcapi.h"
#include "libpq/libpq.h"
#include "libpq/pqformat.h"
-#include "libpq/pqsignal.h"
#include "miscadmin.h"
#include "nodes/replnodes.h"
#include "replication/basebackup.h"
diff --git a/src/backend/utils/misc/timeout.c b/src/backend/utils/misc/timeout.c
index 2ee6e00ed2..b5a3c8f5df 100644
--- a/src/backend/utils/misc/timeout.c
+++ b/src/backend/utils/misc/timeout.c
@@ -16,7 +16,6 @@
#include <sys/time.h>
-#include "libpq/pqsignal.h"
#include "storage/proc.h"
#include "utils/timeout.h"
#include "utils/timestamp.h"