]> granicus.if.org Git - postgresql/commitdiff
Change treatment of sigaction structure again to include even more platforms.
authorBryan Henderson <bryanh@giraffe.netgate.net>
Wed, 16 Oct 1996 09:41:13 +0000 (09:41 +0000)
committerBryan Henderson <bryanh@giraffe.netgate.net>
Wed, 16 Oct 1996 09:41:13 +0000 (09:41 +0000)
Thanks D'Arcy.

src/interfaces/libpq/fe-connect.c

index 01221829fc75b261b2ecec35406bd7da694c0eae..5bbca3fe4860f3b59e53a47e5f1c2ad87e6a9a01 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.10 1996/10/15 07:16:41 bryanh Exp $
+ *    $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-connect.c,v 1.11 1996/10/16 09:41:13 bryanh Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -338,13 +338,19 @@ freePGconn(PGconn *conn)
 static void
 closePGconn(PGconn *conn)
 {
-    const struct sigaction ignore_action = {SIG_IGN, 0, 0};
+    struct sigaction ignore_action = {SIG_IGN, 0, 0};
+      /* This is used as a constant, but not declared as such because the
+         sigaction structure is defined differently on different systems */
     struct sigaction oldaction;
 
     /* If connection is already gone, that's cool.  No reason for kernel
        to kill us when we try to write to it.  So ignore SIGPIPE signals.
        */
+    ignore_action.sa_handler = SIG_IGN;
+    ignore_action.sa_mask = 0;
+    ignore_action.sa_flags = 0;
     sigaction(SIGPIPE, (struct sigaction *) &ignore_action, &oldaction);
+
     fputs("X\0", conn->Pfout);
     fflush(conn->Pfout);
     sigaction(SIGPIPE, &oldaction, NULL);