]> granicus.if.org Git - postgresql/commitdiff
If there is no sigdelset(), define it as a macro.
authorPeter Eisentraut <peter_e@gmx.net>
Wed, 16 Dec 2009 22:55:34 +0000 (22:55 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Wed, 16 Dec 2009 22:55:34 +0000 (22:55 +0000)
This removes some duplicate code that recreated the identical workaround
when the newer signal API is missing.

src/backend/postmaster/bgwriter.c
src/backend/postmaster/walwriter.c
src/backend/tcop/postgres.c
src/include/libpq/pqsignal.h

index bcdb5d7bb75a3c920a6727417ca0ebbf79998102..e3e2b94c3a93e35da4e530b60cbedc925326b377 100644 (file)
@@ -38,7 +38,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/postmaster/bgwriter.c,v 1.63 2009/07/31 20:26:22 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/postmaster/bgwriter.c,v 1.64 2009/12/16 22:55:33 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -244,11 +244,7 @@ BackgroundWriterMain(void)
        pqsignal(SIGWINCH, SIG_DFL);
 
        /* We allow SIGQUIT (quickdie) at all times */
-#ifdef HAVE_SIGPROCMASK
        sigdelset(&BlockSig, SIGQUIT);
-#else
-       BlockSig &= ~(sigmask(SIGQUIT));
-#endif
 
        /*
         * Initialize so that first time-driven event happens at the correct time.
index 7f13e682a5c1d3fa350b5cc471eedb464b987be0..b6e927987869af85fe84541243ac807d9ca3e866 100644 (file)
@@ -34,7 +34,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/postmaster/walwriter.c,v 1.8 2009/07/31 20:26:23 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/postmaster/walwriter.c,v 1.9 2009/12/16 22:55:33 petere Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -126,11 +126,7 @@ WalWriterMain(void)
        pqsignal(SIGWINCH, SIG_DFL);
 
        /* We allow SIGQUIT (quickdie) at all times */
-#ifdef HAVE_SIGPROCMASK
        sigdelset(&BlockSig, SIGQUIT);
-#else
-       BlockSig &= ~(sigmask(SIGQUIT));
-#endif
 
        /*
         * Create a resource owner to keep track of our resources (not clear that
index 71ae42dab705f9af39ed9427845447e5c1e768d1..884748c9b125a7f4a3a9622c05ac854d664f66c7 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.576 2009/12/15 04:57:47 rhaas Exp $
+ *       $PostgreSQL: pgsql/src/backend/tcop/postgres.c,v 1.577 2009/12/16 22:55:33 petere Exp $
  *
  * NOTES
  *       this is the "main" module of the postgres backend and
@@ -3292,11 +3292,7 @@ PostgresMain(int argc, char *argv[], const char *username)
        if (IsUnderPostmaster)
        {
                /* We allow SIGQUIT (quickdie) at all times */
-#ifdef HAVE_SIGPROCMASK
                sigdelset(&BlockSig, SIGQUIT);
-#else
-               BlockSig &= ~(sigmask(SIGQUIT));
-#endif
        }
 
        PG_SETMASK(&BlockSig);          /* block everything except SIGQUIT */
index cd631c19e24932f44cb5317a46c2f3d09e751dde..6061898b36bb90b5b10caf6423af962b2fecb233 100644 (file)
@@ -7,7 +7,7 @@
  * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group
  * Portions Copyright (c) 1994, Regents of the University of California
  *
- * $PostgreSQL: pgsql/src/include/libpq/pqsignal.h,v 1.34 2009/08/29 19:26:51 tgl Exp $
+ * $PostgreSQL: pgsql/src/include/libpq/pqsignal.h,v 1.35 2009/12/16 22:55:34 petere Exp $
  *
  * NOTES
  *       This shouldn't be in libpq, but the monitor and some other
@@ -26,7 +26,7 @@ extern sigset_t UnBlockSig,
                        StartupBlockSig;
 
 #define PG_SETMASK(mask)       sigprocmask(SIG_SETMASK, mask, NULL)
-#else
+#else /* not HAVE_SIGPROCMASK */
 extern int     UnBlockSig,
                        BlockSig,
                        StartupBlockSig;
@@ -37,7 +37,9 @@ extern int    UnBlockSig,
 #define PG_SETMASK(mask)               pqsigsetmask(*((int*)(mask)))
 int                    pqsigsetmask(int mask);
 #endif
-#endif
+
+#define sigdelset(set, signum) (*(set) &= ~(sigmask(signum)))
+#endif /* not HAVE_SIGPROCMASK */
 
 typedef void (*pqsigfunc) (int);