Added support for storing replicas on multiple servers
[awesomized/libmemcached] / clients / memslap.c
index cd170eb172ddcb75519bbfdf786557a2942c82a6..0baff1df62a0db4990cde01dde9902eb3defccdc 100644 (file)
@@ -1,3 +1,4 @@
+#include "libmemcached/common.h"
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -9,6 +10,7 @@
 #include <sys/time.h>
 #include <getopt.h>
 #include <pthread.h>
+#include <assert.h>
 
 #include <libmemcached/memcached.h>
 
@@ -145,9 +147,9 @@ void scheduler(memcached_server_st *servers, conclusions_st *conclusion)
   if (opt_udp_io)
   {
     memcached_behavior_set(memc, MEMCACHED_BEHAVIOR_USE_UDP, opt_udp_io);
-    unsigned int i= 0;
-    for(i= 0; i < servers[0].count; i++ )
-      servers[i].type= MEMCACHED_CONNECTION_UDP;
+    unsigned int x= 0;
+    for(x= 0; x < servers[0].count; x++ )
+      servers[x].type= MEMCACHED_CONNECTION_UDP;
   }
   memcached_server_push(memc, servers);
 
@@ -177,8 +179,7 @@ void scheduler(memcached_server_st *servers, conclusions_st *conclusion)
   for (x= 0; x < opt_concurrency; x++)
   {
     thread_context_st *context;
-    context= (thread_context_st *)malloc(sizeof(thread_context_st));
-    memset(context, 0, sizeof(thread_context_st));
+    context= (thread_context_st *)calloc(1, sizeof(thread_context_st));
 
     context->memc= memcached_clone(NULL, memc);
     context->test= opt_test;
@@ -371,6 +372,7 @@ void *run_task(void *p)
   switch (context->test)
   {
   case SET_TEST:
+    assert(context->execute_pairs);
     execute_set(memc, context->execute_pairs, context->execute_number);
     break;
   case GET_TEST: