Gaetano Mendola <mendola@bigfoot.com> writes:
> host all all 127.0.0.1 trust sameuser # HANG
> the future connections will hang leaving a postgres process
> running
> - Inserting the following line instead will crash postgres
> host all 127.0.0.1 trust sameuser # CRASH
I was able to reproduce the crash but not the hang. Would you see if
the attached patch fixes both symptoms on your machine?
regards, tom lane
Index: ip.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/libpq/ip.c,v
retrieving revision 1.23
diff -c -r1.23 ip.c
*** ip.c 12 Sep 2003 20:18:51 -0000 1.23
--- ip.c 24 Apr 2004 20:09:21 -0000
***************
*** 67,74 **** */ int getaddrinfo_all(const char *hostname, const char *servname,
! const struct addrinfo * hintp, struct addrinfo ** result) { #ifdef HAVE_UNIX_SOCKETS if (hintp !=
NULL&& hintp->ai_family == AF_UNIX) return getaddrinfo_unix(servname, hintp, result);
--- 67,77 ---- */ int getaddrinfo_all(const char *hostname, const char *servname,
! const struct addrinfo *hintp, struct addrinfo **result) {
+ /* not all versions of getaddrinfo() zero *result on failure */
+ *result = NULL;
+ #ifdef HAVE_UNIX_SOCKETS if (hintp != NULL && hintp->ai_family == AF_UNIX) return
getaddrinfo_unix(servname,hintp, result);