From c620ebc670a6dd5c6605e643fb4cbc7e61b991d4 Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Mon, 30 May 2016 14:31:43 +0200 Subject: [PATCH] Use std::string for Synchro instead of char* --- src/simix/Synchro.cpp | 4 ++-- src/simix/Synchro.h | 4 +++- src/simix/SynchroExec.cpp | 7 ++++--- src/simix/smx_global.cpp | 2 +- src/simix/smx_host.cpp | 2 +- src/simix/smx_io.cpp | 4 ---- src/simix/smx_process.cpp | 2 -- src/simix/smx_synchro.cpp | 1 - 8 files changed, 11 insertions(+), 15 deletions(-) diff --git a/src/simix/Synchro.cpp b/src/simix/Synchro.cpp index 9d94aba497..db8d8d6524 100644 --- a/src/simix/Synchro.cpp +++ b/src/simix/Synchro.cpp @@ -9,9 +9,9 @@ simgrid::simix::Synchro::Synchro() { simcalls = xbt_fifo_new(); } -simgrid::simix::Synchro::~Synchro() { +simgrid::simix::Synchro::~Synchro() +{ xbt_fifo_free(simcalls); - xbt_free(name); } void simgrid::simix::Synchro::ref() diff --git a/src/simix/Synchro.h b/src/simix/Synchro.h index b9720fe34d..1d7e83e2d0 100644 --- a/src/simix/Synchro.h +++ b/src/simix/Synchro.h @@ -6,6 +6,8 @@ #ifndef _SIMIX_SYNCHRO_HPP #define _SIMIX_SYNCHRO_HPP +#include + #include #include "simgrid/forward.h" @@ -21,7 +23,7 @@ namespace simix { Synchro(); virtual ~Synchro(); e_smx_state_t state; /* State of the synchro */ - char *name = nullptr; /* synchro name if any */ + std::string name; /* synchro name if any */ xbt_fifo_t simcalls; /* List of simcalls waiting for this synchro */ char *category = nullptr; /* For instrumentation */ diff --git a/src/simix/SynchroExec.cpp b/src/simix/SynchroExec.cpp index ddd7fc9712..31d8dd499c 100644 --- a/src/simix/SynchroExec.cpp +++ b/src/simix/SynchroExec.cpp @@ -9,10 +9,11 @@ simgrid::simix::Exec::Exec(const char*name, sg_host_t hostarg) { - name = xbt_strdup(name); - state = SIMIX_RUNNING; - host = hostarg; + this->name = name; + this->state = SIMIX_RUNNING; + this->host = hostarg; } + simgrid::simix::Exec::~Exec() { if (surf_exec) diff --git a/src/simix/smx_global.cpp b/src/simix/smx_global.cpp index 7431e348ce..9ba653be72 100644 --- a/src/simix/smx_global.cpp +++ b/src/simix/smx_global.cpp @@ -650,7 +650,7 @@ void SIMIX_display_process_status(void) XBT_INFO("Process %lu (%s@%s): waiting for %s synchro %p (%s) in state %d to finish", process->pid, process->name.c_str(), sg_host_get_name(process->host), synchro_description, process->waiting_synchro, - process->waiting_synchro->name, (int)process->waiting_synchro->state); + process->waiting_synchro->name.c_str(), (int)process->waiting_synchro->state); } else { XBT_INFO("Process %lu (%s@%s)", process->pid, process->name.c_str(), sg_host_get_name(process->host)); diff --git a/src/simix/smx_host.cpp b/src/simix/smx_host.cpp index d1d5ddb768..fee90622f3 100644 --- a/src/simix/smx_host.cpp +++ b/src/simix/smx_host.cpp @@ -240,7 +240,7 @@ smx_synchro_t SIMIX_execution_start(smx_process_t issuer, const char *name, } } - XBT_DEBUG("Create execute synchro %p: %s", exec, exec->name); + XBT_DEBUG("Create execute synchro %p: %s", exec, exec->name.c_str()); return exec; } diff --git a/src/simix/smx_io.cpp b/src/simix/smx_io.cpp index 0834120291..c465d624a6 100644 --- a/src/simix/smx_io.cpp +++ b/src/simix/smx_io.cpp @@ -66,7 +66,6 @@ smx_synchro_t SIMIX_file_read(smx_file_t fd, sg_size_t size, sg_host_t host) simgrid::simix::Io *synchro = new simgrid::simix::Io(); - synchro->name = NULL; synchro->host = host; synchro->surf_io = surf_host_read(host, fd->surf_file, size); @@ -90,7 +89,6 @@ smx_synchro_t SIMIX_file_write(smx_file_t fd, sg_size_t size, sg_host_t host) THROWF(host_error, 0, "Host %s failed, you cannot call this function", sg_host_get_name(host)); simgrid::simix::Io *synchro = new simgrid::simix::Io(); - synchro->name = NULL; synchro->host = host; synchro->surf_io = surf_host_write(host, fd->surf_file, size); synchro->surf_io->setData(synchro); @@ -113,7 +111,6 @@ smx_synchro_t SIMIX_file_open(const char* fullpath, sg_host_t host) THROWF(host_error, 0, "Host %s failed, you cannot call this function", sg_host_get_name(host)); simgrid::simix::Io *synchro = new simgrid::simix::Io(); - synchro->name = NULL; synchro->host = host; synchro->surf_io = surf_host_open(host, fullpath); synchro->surf_io->setData(synchro); @@ -136,7 +133,6 @@ smx_synchro_t SIMIX_file_close(smx_file_t fd, sg_host_t host) THROWF(host_error, 0, "Host %s failed, you cannot call this function", sg_host_get_name(host)); simgrid::simix::Io *synchro = new simgrid::simix::Io(); - synchro->name = NULL; synchro->host = host; synchro->surf_io = surf_host_close(host, fd->surf_file); synchro->surf_io->setData(synchro); diff --git a/src/simix/smx_process.cpp b/src/simix/smx_process.cpp index 724353594a..35e783c22a 100644 --- a/src/simix/smx_process.cpp +++ b/src/simix/smx_process.cpp @@ -800,8 +800,6 @@ smx_synchro_t SIMIX_process_sleep(smx_process_t process, double duration) THROWF(host_error, 0, "Host %s failed, you cannot call this function", sg_host_get_name(host)); simgrid::simix::Sleep *synchro = new simgrid::simix::Sleep(); - synchro->name = NULL; - synchro->host = host; synchro->surf_sleep = surf_host_sleep(host, duration); synchro->surf_sleep->setData(synchro); diff --git a/src/simix/smx_synchro.cpp b/src/simix/smx_synchro.cpp index e82964e853..67e4eaa762 100644 --- a/src/simix/smx_synchro.cpp +++ b/src/simix/smx_synchro.cpp @@ -26,7 +26,6 @@ static smx_synchro_t SIMIX_synchro_wait(sg_host_t smx_host, double timeout) XBT_IN("(%p, %f)",smx_host,timeout); simgrid::simix::Raw *sync = new simgrid::simix::Raw(); - sync->name = nullptr; sync->sleep = surf_host_sleep(smx_host, timeout); sync->sleep->setData(sync); XBT_OUT(); -- 2.20.1