Issue fatal error if no TCP/IP sockets could be created
authorPeter Eisentraut <peter_e@gmx.net>
Thu, 30 Jun 2005 10:02:22 +0000 (10:02 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Thu, 30 Jun 2005 10:02:22 +0000 (10:02 +0000)
src/backend/postmaster/postmaster.c

index c1ac2ed59772823790f83ed694a51db0e69aea65..d14f6db1630068cc96124914037d817a53bf5053 100644 (file)
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *   $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.456 2005/06/29 22:51:55 tgl Exp $
+ *   $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.457 2005/06/30 10:02:22 petere Exp $
  *
  * NOTES
  *
@@ -711,6 +711,7 @@ PostmasterMain(int argc, char *argv[])
        char       *rawstring;
        List       *elemlist;
        ListCell   *l;
+       int         success = 0;
 
        /* Need a modifiable copy of ListenAddresses */
        rawstring = pstrdup(ListenAddresses);
@@ -738,12 +739,18 @@ PostmasterMain(int argc, char *argv[])
                                          (unsigned short) PostPortNumber,
                                          UnixSocketDir,
                                          ListenSocket, MAXLISTEN);
-           if (status != STATUS_OK)
+           if (status == STATUS_OK)
+               success++;
+           else
                ereport(WARNING,
                     (errmsg("could not create listen socket for \"%s\"",
                             curhost)));
        }
 
+       if (!success && list_length(elemlist))
+           ereport(FATAL,
+                   (errmsg("could not create any TCP/IP sockets")));
+
        list_free(elemlist);
        pfree(rawstring);
    }