From: Bryan Henderson <bryanh@giraffe.netgate.net>
Date: Mon, 18 Nov 1996 02:25:09 +0000 (+0000)
Subject: Add comments about the diversity of signal functionality.  Came from
X-Git-Tag: REL2_0~95
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b55d49f5fe4446507f1b9fd5f78db005fc0f639c;p=postgresql

Add comments about the diversity of signal functionality.  Came from
Makefile.global.
---

diff --git a/src/backend/libpq/pqsignal.c b/src/backend/libpq/pqsignal.c
index 98519ae7e1..2892d702b3 100644
--- a/src/backend/libpq/pqsignal.c
+++ b/src/backend/libpq/pqsignal.c
@@ -8,14 +8,35 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/libpq/pqsignal.c,v 1.3 1996/11/06 08:48:32 scrappy Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/libpq/pqsignal.c,v 1.4 1996/11/18 02:25:09 bryanh Exp $
  *
  * 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.
+ *
+ *  config.h defines the macro USE_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 server.
+ * 
+ *  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 <libpq/pqsignal.h>