Merge lp:~tangent-org/libmemcached/1.0-build/ Build: jenkins-Libmemcached-170
[awesomized/libmemcached] / libmemcached / hosts.cc
index c189d07b3548002627a5bdd2405fd14ada6ce9b7..73fb66af0a82eab9abcd87a9b79a11721a01a689 100644 (file)
@@ -36,6 +36,7 @@
  */
 
 #include <libmemcached/common.h>
+#include "libmemcached/assert.hpp"
 
 #include <cmath>
 #include <sys/time.h>
@@ -194,6 +195,7 @@ static memcached_return_t update_continuum(memcached_st *ptr)
     ptr->ketama.continuum= new_ptr;
     ptr->ketama.continuum_count= live_servers + MEMCACHED_CONTINUUM_ADDITION;
   }
+  assert_msg(ptr->ketama.continuum, "Programmer Error, empty ketama continuum");
 
   uint64_t total_weight= 0;
   if (memcached_is_weighted_ketama(ptr))
@@ -327,9 +329,9 @@ static memcached_return_t update_continuum(memcached_st *ptr)
     pointer_counter+= pointer_per_server;
   }
 
-  WATCHPOINT_ASSERT(ptr);
-  WATCHPOINT_ASSERT(ptr->ketama.continuum);
-  WATCHPOINT_ASSERT(memcached_server_count(ptr) * MEMCACHED_POINTS_PER_SERVER <= MEMCACHED_CONTINUUM_SIZE);
+  assert_msg(ptr, "Programmer Error, no valid ptr");
+  assert_msg(ptr->ketama.continuum, "Programmer Error, empty ketama continuum");
+  assert_msg(memcached_server_count(ptr) * MEMCACHED_POINTS_PER_SERVER <= MEMCACHED_CONTINUUM_SIZE, "invalid size information being given to qsort()");
   ptr->ketama.continuum_points_counter= pointer_counter;
   qsort(ptr->ketama.continuum, ptr->ketama.continuum_points_counter, sizeof(memcached_continuum_item_st), continuum_item_cmp);