From d986294c2badcf9aea4cc8f910124ea3ff36cd99 Mon Sep 17 00:00:00 2001 From: Peter Schafhalter Date: Fri, 17 Nov 2017 16:14:46 -0800 Subject: [PATCH] Replace UT strings in local scheduler (#1213) * Convert to string using std::string * Fix linting issue * Fix linting * Construct db_connect_args using vector * Use vector size() instead of num_args * Hopefully fix linting now --- src/local_scheduler/local_scheduler.cc | 53 ++++++++++---------------- 1 file changed, 20 insertions(+), 33 deletions(-) diff --git a/src/local_scheduler/local_scheduler.cc b/src/local_scheduler/local_scheduler.cc index 3da8da1fc..b1d16c2a0 100644 --- a/src/local_scheduler/local_scheduler.cc +++ b/src/local_scheduler/local_scheduler.cc @@ -6,6 +6,8 @@ #include #include +#include + #include "common.h" #include "common_protocol.h" #include "event_loop.h" @@ -342,42 +344,27 @@ LocalSchedulerState *LocalSchedulerState_init( /* Connect to Redis if a Redis address is provided. */ if (redis_primary_addr != NULL) { - int num_args; - const char **db_connect_args = NULL; - /* Use UT_string to convert the resource value into a string. */ - UT_string *num_cpus; - UT_string *num_gpus; - utstring_new(num_cpus); - utstring_new(num_gpus); - utstring_printf(num_cpus, "%f", static_resource_conf[0]); - utstring_printf(num_gpus, "%f", static_resource_conf[1]); + /* Use std::string to convert the resource value into a string. */ + std::string num_cpus = std::to_string(static_resource_conf[0]); + std::string num_gpus = std::to_string(static_resource_conf[1]); + + /* Construct db_connect_args */ + std::vector db_connect_args; + db_connect_args.push_back("local_scheduler_socket_name"); + db_connect_args.push_back(local_scheduler_socket_name); + db_connect_args.push_back("num_cpus"); + db_connect_args.push_back(num_cpus.c_str()); + db_connect_args.push_back("num_gpus"); + db_connect_args.push_back(num_gpus.c_str()); + if (plasma_manager_address != NULL) { - num_args = 8; - db_connect_args = (const char **) malloc(sizeof(char *) * num_args); - db_connect_args[0] = "local_scheduler_socket_name"; - db_connect_args[1] = local_scheduler_socket_name; - db_connect_args[2] = "num_cpus"; - db_connect_args[3] = utstring_body(num_cpus); - db_connect_args[4] = "num_gpus"; - db_connect_args[5] = utstring_body(num_gpus); - db_connect_args[6] = "manager_address"; - db_connect_args[7] = plasma_manager_address; - } else { - num_args = 6; - db_connect_args = (const char **) malloc(sizeof(char *) * num_args); - db_connect_args[0] = "local_scheduler_socket_name"; - db_connect_args[1] = local_scheduler_socket_name; - db_connect_args[2] = "num_cpus"; - db_connect_args[3] = utstring_body(num_cpus); - db_connect_args[4] = "num_gpus"; - db_connect_args[5] = utstring_body(num_gpus); + db_connect_args.push_back("manager_address"); + db_connect_args.push_back(plasma_manager_address); } + state->db = db_connect(std::string(redis_primary_addr), redis_primary_port, - "local_scheduler", node_ip_address, num_args, - db_connect_args); - utstring_free(num_cpus); - utstring_free(num_gpus); - free(db_connect_args); + "local_scheduler", node_ip_address, + db_connect_args.size(), &db_connect_args[0]); db_attach(state->db, loop, false); } else { state->db = NULL;