You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2008/11/12 16:42:25 UTC

svn commit: r713405 - /incubator/qpid/trunk/qpid/cpp/src/qpid/sys/posix/SystemInfo.cpp

Author: aconway
Date: Wed Nov 12 07:42:24 2008
New Revision: 713405

URL: http://svn.apache.org/viewvc?rev=713405&view=rev
Log:
Fix problem where broker generates empty URL if run on a host with only the 127.0.0.1 loopback interface.

Modified:
    incubator/qpid/trunk/qpid/cpp/src/qpid/sys/posix/SystemInfo.cpp

Modified: incubator/qpid/trunk/qpid/cpp/src/qpid/sys/posix/SystemInfo.cpp
URL: http://svn.apache.org/viewvc/incubator/qpid/trunk/qpid/cpp/src/qpid/sys/posix/SystemInfo.cpp?rev=713405&r1=713404&r2=713405&view=diff
==============================================================================
--- incubator/qpid/trunk/qpid/cpp/src/qpid/sys/posix/SystemInfo.cpp (original)
+++ incubator/qpid/trunk/qpid/cpp/src/qpid/sys/posix/SystemInfo.cpp Wed Nov 12 07:42:24 2008
@@ -53,11 +53,10 @@
     return true;
 }
 
+static const string LOCALHOST("127.0.0.1");
+
 void SystemInfo::getLocalIpAddresses (uint16_t port,
                                       std::vector<Address> &addrList) {
-
-    static const string LOCALHOST("127.0.0.1");
-
     int s = socket (PF_INET, SOCK_STREAM, 0);
     for (int i=1;;i++) {
         struct ifreq ifr;
@@ -72,6 +71,9 @@
         if (addr != LOCALHOST)
             addrList.push_back(TcpAddress(addr, port));
     }
+    if (addrList.empty()) {
+        addrList.push_back(TcpAddress(LOCALHOST, port));
+    }
     close (s);
 }