OSDN Git Service

Last minute clean up for SunOS...
authorMarc G. Fournier <scrappy@hub.org>
Mon, 2 Mar 1998 05:42:15 +0000 (05:42 +0000)
committerMarc G. Fournier <scrappy@hub.org>
Mon, 2 Mar 1998 05:42:15 +0000 (05:42 +0000)
From: t-ishii@sra.co.jp

src/backend/libpq/pqcomm.c
src/backend/storage/ipc/ipc.c
src/include/libpq/libpq.h
src/include/libpq/pqcomm.h

index 204578c..41280c8 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.39 1998/02/26 04:31:53 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.40 1998/03/02 05:41:53 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -564,8 +564,8 @@ static char sock_path[MAXPGPATH + 1] = "";
  * Shutdown routine for backend connection
  * If a Unix socket is used for communication, explicitly close it.
  */
-static void
-do_unlink()
+void
+StreamDoUnlink()
 {
        if (sock_path[0])
                unlink(sock_path);
@@ -645,7 +645,6 @@ StreamServerPort(char *hostName, short portName, int *fdP)
        if (family == AF_UNIX)
        {
                chmod(sock_path, 0777);
-               atexit(do_unlink);
        }
        return (STATUS_OK);
 }
index b0219b5..28fbd87 100644 (file)
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *       $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.19 1998/02/26 04:35:38 momjian Exp $
+ *       $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.20 1998/03/02 05:41:55 scrappy Exp $
  *
  * NOTES
  *
@@ -38,6 +38,7 @@
 #include <sys/sem.h>
 #include <sys/shm.h>
 #include "utils/memutils.h"
+#include "libpq/libpq.h"
 
 #if defined(sparc_solaris)
 #include <string.h>
@@ -136,6 +137,7 @@ exitpg(int code)
        for (i = onexit_index - 1; i >= 0; --i)
                (*onexit_list[i].function) (code, onexit_list[i].arg);
 
+       StreamDoUnlink();
        exit(code);
 }
 
index 57ec395..0893b64 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: libpq.h,v 1.12 1998/02/26 04:41:51 momjian Exp $
+ * $Id: libpq.h,v 1.13 1998/03/02 05:42:06 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -282,5 +282,6 @@ extern void pq_async_notify(void);
 extern int     StreamServerPort(char *hostName, short portName, int *fdP);
 extern int     StreamConnection(int server_fd, Port *port);
 extern void StreamClose(int sock);
+extern void StreamDoUnlink(void);
 
 #endif                                                 /* LIBPQ_H */
index 0b06de0..59a70b6 100644 (file)
@@ -6,7 +6,7 @@
  *
  * Copyright (c) 1994, Regents of the University of California
  *
- * $Id: pqcomm.h,v 1.23 1998/02/26 04:41:53 momjian Exp $
+ * $Id: pqcomm.h,v 1.24 1998/03/02 05:42:15 scrappy Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -35,8 +35,9 @@ typedef union SockAddr
 /* Configure the UNIX socket address for the well known port. */
 
 #define UNIXSOCK_PATH(sun,port) \
-       (sprintf((sun).sun_path, "/tmp/.s.PGSQL.%d", (port)) + \
-               offsetof(struct sockaddr_un, sun_path))
+       (sprintf((sun).sun_path, "/tmp/.s.PGSQL.%d", (port)), \
+        strlen((sun).sun_path)+ offsetof(struct sockaddr_un, sun_path))
+
 /*
  *             We do this because sun_len is in BSD's struct, while others don't.
  *             We never actually set BSD's sun_len, and I can't think of a