Update
[awesomized/libmemcached] / libtest / port.cc
index 7dbba4e08e728f17aac89283f7e77d37a3968d50..01e0e88b34426e1f014db5fd43346903d004570e 100644 (file)
@@ -69,9 +69,9 @@ struct socket_st {
 
   void release(in_port_t _arg)
   {
-    for(socket_port_t::iterator iter= _pair.begin();
-        iter != _pair.end();
-        iter++)
+    for (socket_port_t::iterator iter= _pair.begin();
+         iter != _pair.end();
+         ++iter)
     {
       if ((*iter).second == _arg)
       {
@@ -83,9 +83,9 @@ struct socket_st {
 
   ~socket_st()
   {
-    for(socket_port_t::iterator iter= _pair.begin();
-        iter != _pair.end();
-        iter++)
+    for (socket_port_t::iterator iter= _pair.begin();
+         iter != _pair.end();
+         ++iter)
     {
       shutdown((*iter).first, SHUT_RDWR);
       close((*iter).first);
@@ -120,7 +120,7 @@ in_port_t get_free_port()
 
   int retries= 1024;
 
-  while (retries--)
+  while (--retries)
   {
     int sd;
     if ((sd= socket(AF_INET, SOCK_STREAM, 0)) != -1)
@@ -155,11 +155,21 @@ in_port_t get_free_port()
   }
 
   // We handle the case where if we max out retries, we still abort.
-  if (ret_port <= 1024)
+  if (retries == 0)
+  {
+    fatal_message("No port could be found, exhausted retry");
+  }
+
+  if (ret_port == 0)
   {
     fatal_message("No port could be found");
   }
 
+  if (ret_port <= 1024)
+  {
+    fatal_message("No port could be found, though some where available below or at 1024");
+  }
+
   return ret_port;
 }