Gaetano Mendola <[EMAIL PROTECTED]> 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);

---------------------------(end of broadcast)---------------------------
TIP 7: don't forget to increase your free space map settings

Reply via email to