activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From tab...@apache.org
Subject svn commit: r988664 - /activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/InetAddress.cpp
Date Tue, 24 Aug 2010 18:58:05 GMT
Author: tabish
Date: Tue Aug 24 18:58:05 2010
New Revision: 988664

URL: http://svn.apache.org/viewvc?rev=988664&view=rev
Log:
Add an additional try catch to attempt to capture any unknown exceptions from the APR code.

Modified:
    activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/InetAddress.cpp

Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/InetAddress.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/InetAddress.cpp?rev=988664&r1=988663&r2=988664&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/InetAddress.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/main/decaf/net/InetAddress.cpp Tue Aug 24
18:58:05 2010
@@ -154,26 +154,32 @@ InetAddress InetAddress::getLocalHost() 
 
     char hostname[APRMAXHOSTLEN + 1] = {0};
 
-    AprPool pool;
-    apr_status_t result = apr_gethostname( hostname, APRMAXHOSTLEN+1, pool.getAprPool() );
+    try{
 
-    if( result != APR_SUCCESS ) {
-        return getLoopbackAddress();
-    }
-
-    apr_sockaddr_t* address = NULL;
-    result = apr_sockaddr_info_get( &address, hostname, APR_UNSPEC, 0, APR_IPV4_ADDR_OK,
pool.getAprPool() );
-
-    if( result != APR_SUCCESS ) {
-        throw UnknownHostException(
-            __FILE__, __LINE__, "Could not resolve the IP Address of this host." );
-    }
+        AprPool pool;
+        apr_status_t result = apr_gethostname( hostname, APRMAXHOSTLEN+1, pool.getAprPool()
);
 
-    if( address->family == APR_INET ) {
-        return Inet4Address( hostname, (const unsigned char*)address->ipaddr_ptr, address->ipaddr_len
);
-    } else {
-        return Inet6Address( hostname, (const unsigned char*)address->ipaddr_ptr, address->ipaddr_len
);
+        if( result != APR_SUCCESS ) {
+            return getLoopbackAddress();
+        }
+
+        apr_sockaddr_t* address = NULL;
+        result = apr_sockaddr_info_get( &address, hostname, APR_UNSPEC, 0, APR_IPV4_ADDR_OK,
pool.getAprPool() );
+
+        if( result != APR_SUCCESS ) {
+            throw UnknownHostException(
+                __FILE__, __LINE__, "Could not resolve the IP Address of this host." );
+        }
+
+        if( address->family == APR_INET ) {
+            return Inet4Address( hostname, (const unsigned char*)address->ipaddr_ptr,
address->ipaddr_len );
+        } else {
+            return Inet6Address( hostname, (const unsigned char*)address->ipaddr_ptr,
address->ipaddr_len );
+        }
     }
+    DECAF_CATCH_RETHROW( UnknownHostException )
+    DECAF_CATCH_EXCEPTION_CONVERT( Exception, UnknownHostException )
+    DECAF_CATCHALL_THROW( UnknownHostException )
 }
 
 ////////////////////////////////////////////////////////////////////////////////



Mime
View raw message