Make default socket directory location configurable from config.h.

If we're going to let it be run-time configurable, might as well allow
this too...
This commit is contained in:
Tom Lane 2000-11-30 23:19:04 +00:00
parent 796754778d
commit 73d0514dea
2 changed files with 24 additions and 12 deletions

View File

@ -8,7 +8,7 @@
* or in config.h afterwards. Of course, if you edit config.h, then your
* changes will be overwritten the next time you run configure.
*
* $Id: config.h.in,v 1.151 2000/11/30 08:46:25 vadim Exp $
* $Id: config.h.in,v 1.152 2000/11/30 23:19:04 tgl Exp $
*/
#ifndef CONFIG_H
@ -234,6 +234,16 @@
# define HAVE_UNIX_SOCKETS 1
#endif
/*
* This is the default directory in which AF_UNIX socket files are placed.
* Caution: changing this risks breaking your existing client applications,
* which are likely to continue to look in the old directory. But if you
* just hate the idea of sockets in /tmp, here's where to twiddle it.
* You can also override this at runtime with the postmaster's -k switch.
*/
#define DEFAULT_PGSOCKET_DIR "/tmp"
/*
*------------------------------------------------------------------------
* These hand-configurable symbols are for enabling debugging code,

View File

@ -9,7 +9,7 @@
* Portions Copyright (c) 1996-2000, PostgreSQL, Inc
* Portions Copyright (c) 1994, Regents of the University of California
*
* $Id: pqcomm.h,v 1.51 2000/11/25 22:34:14 momjian Exp $
* $Id: pqcomm.h,v 1.52 2000/11/30 23:19:04 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@ -48,24 +48,26 @@ typedef union SockAddr
} SockAddr;
/* Configure the UNIX socket address for the well known port. */
#if defined(SUN_LEN)
#define UNIXSOCK_LEN(sun) \
(SUN_LEN(&(sun)))
#else
#define UNIXSOCK_LEN(sun) \
(strlen((sun).sun_path)+ offsetof(struct sockaddr_un, sun_path))
#endif
/* Configure the UNIX socket location for the well known port. */
#define UNIXSOCK_PATH(sun,port,defpath) \
(sprintf((sun).sun_path, "%s/.s.PGSQL.%d", ((defpath) && *(defpath) != '\0') ? (defpath) : "/tmp", (port)))
sprintf((sun).sun_path, "%s/.s.PGSQL.%d", \
((defpath) && *(defpath) != '\0') ? (defpath) : \
DEFAULT_PGSOCKET_DIR, \
(port))
/*
* 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
* platform-safe way of doing it, but the code still works. bjm
*/
#if defined(SUN_LEN)
#define UNIXSOCK_LEN(sun) \
(SUN_LEN(&(sun)))
#else
#define UNIXSOCK_LEN(sun) \
(strlen((sun).sun_path) + offsetof(struct sockaddr_un, sun_path))
#endif
/*
* These manipulate the frontend/backend protocol version number.