]> granicus.if.org Git - postgresql/commitdiff
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);
        }