mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-23 19:39:53 +08:00
FIx for unix domain sockets, from Goran Thyni.
This commit is contained in:
parent
21261b031c
commit
474de35053
@ -7,7 +7,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.27 1997/11/17 16:17:14 thomas Exp $
|
||||
* $Header: /cvsroot/pgsql/src/backend/libpq/pqcomm.c,v 1.28 1997/11/19 17:52:00 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -607,8 +607,6 @@ StreamServerPort(char *hostName, short portName, int *fdP)
|
||||
pqdebug("%s", PQerrormsg);
|
||||
return (STATUS_ERROR);
|
||||
}
|
||||
if (family == AF_UNIX)
|
||||
on_exitpg(do_unlink, (caddr_t) 0);
|
||||
if ((setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *) &one,
|
||||
sizeof(one))) == -1)
|
||||
{
|
||||
@ -636,14 +634,17 @@ StreamServerPort(char *hostName, short portName, int *fdP)
|
||||
err = bind(fd, (struct sockaddr *) & saddr, len);
|
||||
if (err < 0)
|
||||
{
|
||||
sprintf(PQerrormsg,
|
||||
"FATAL: StreamServerPort: bind() failed: errno=%d\n",
|
||||
errno);
|
||||
pqdebug("%s", PQerrormsg);
|
||||
strcat(PQerrormsg, "\tIs another postmaster already running on that port?\n");
|
||||
strcat(PQerrormsg, "\tIf not, wait a few seconds and retry.\n");
|
||||
fputs(PQerrormsg, stderr);
|
||||
return (STATUS_ERROR);
|
||||
sprintf(PQerrormsg,
|
||||
"FATAL: StreamServerPort: bind() failed: errno=%d\n",
|
||||
errno);
|
||||
pqdebug("%s", PQerrormsg);
|
||||
strcat(PQerrormsg, "\tIs another postmaster already running on that port?\n");
|
||||
if (family == AF_UNIX)
|
||||
strcat(PQerrormsg, "\tIf not, remove socket node (/tmp/.s.PGSQL.<portnr>)and retry.\n");
|
||||
else
|
||||
strcat(PQerrormsg, "\tIf not, wait a few seconds and retry.\n");
|
||||
fputs(PQerrormsg, stderr);
|
||||
return (STATUS_ERROR);
|
||||
}
|
||||
|
||||
listen(fd, SOMAXCONN);
|
||||
@ -657,6 +658,7 @@ StreamServerPort(char *hostName, short portName, int *fdP)
|
||||
*/
|
||||
|
||||
*fdP = fd;
|
||||
if (family == AF_UNIX) atexit(do_unlink);
|
||||
return (STATUS_OK);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user