A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix use-ater-free.
[simgrid.git]
/
src
/
surf
/
sg_platf.cpp
diff --git
a/src/surf/sg_platf.cpp
b/src/surf/sg_platf.cpp
index
1214fd5
..
97ce0b1
100644
(file)
--- a/
src/surf/sg_platf.cpp
+++ b/
src/surf/sg_platf.cpp
@@
-35,8
+35,7
@@
XBT_PRIVATE std::vector<std::string> known_storages;
namespace simgrid {
namespace surf {
namespace simgrid {
namespace surf {
-simgrid::xbt::signal<void(sg_platf_cluster_cbarg_t)> on_cluster;
-
+simgrid::xbt::signal<void(ClusterCreationArgs*)> on_cluster;
}
}
}
}
@@
-77,7
+76,7
@@
void sg_platf_new_host(sg_platf_host_cbarg_t args)
{
std::map<std::string, std::string> props;
if (args->properties) {
{
std::map<std::string, std::string> props;
if (args->properties) {
- for (auto elm : *args->properties)
+ for (auto
const&
elm : *args->properties)
props.insert({elm.first, elm.second});
delete args->properties;
}
props.insert({elm.first, elm.second});
delete args->properties;
}
@@
-100,18
+99,18
@@
void sg_platf_new_host(sg_platf_host_cbarg_t args)
}
/** @brief Add a "router" to the network element list */
}
/** @brief Add a "router" to the network element list */
-simgrid::kernel::routing::NetPoint* sg_platf_new_router(
const char*
name, const char* coords)
+simgrid::kernel::routing::NetPoint* sg_platf_new_router(
std::string
name, const char* coords)
{
simgrid::kernel::routing::NetZoneImpl* current_routing = routing_get_current();
if (current_routing->hierarchy_ == simgrid::kernel::routing::NetZoneImpl::RoutingMode::unset)
current_routing->hierarchy_ = simgrid::kernel::routing::NetZoneImpl::RoutingMode::base;
xbt_assert(nullptr == simgrid::s4u::Engine::getInstance()->getNetpointByNameOrNull(name),
{
simgrid::kernel::routing::NetZoneImpl* current_routing = routing_get_current();
if (current_routing->hierarchy_ == simgrid::kernel::routing::NetZoneImpl::RoutingMode::unset)
current_routing->hierarchy_ = simgrid::kernel::routing::NetZoneImpl::RoutingMode::base;
xbt_assert(nullptr == simgrid::s4u::Engine::getInstance()->getNetpointByNameOrNull(name),
- "Refusing to create a router named '%s': this name already describes a node.", name);
+ "Refusing to create a router named '%s': this name already describes a node.", name
.c_str()
);
simgrid::kernel::routing::NetPoint* netpoint =
new simgrid::kernel::routing::NetPoint(name, simgrid::kernel::routing::NetPoint::Type::Router, current_routing);
simgrid::kernel::routing::NetPoint* netpoint =
new simgrid::kernel::routing::NetPoint(name, simgrid::kernel::routing::NetPoint::Type::Router, current_routing);
- XBT_DEBUG("Router '%s' has the id %u", name, netpoint->id());
+ XBT_DEBUG("Router '%s' has the id %u", name
.c_str()
, netpoint->id());
if (coords && strcmp(coords, ""))
new simgrid::kernel::routing::vivaldi::Coords(netpoint, coords);
if (coords && strcmp(coords, ""))
new simgrid::kernel::routing::vivaldi::Coords(netpoint, coords);
@@
-130,14
+129,13
@@
void sg_platf_new_link(LinkCreationArgs* link)
} else {
names.push_back(link->id);
}
} else {
names.push_back(link->id);
}
- for (auto link_name : names) {
+ for (auto
const&
link_name : names) {
simgrid::surf::LinkImpl* l =
surf_network_model->createLink(link_name.c_str(), link->bandwidth, link->latency, link->policy);
if (link->properties) {
simgrid::surf::LinkImpl* l =
surf_network_model->createLink(link_name.c_str(), link->bandwidth, link->latency, link->policy);
if (link->properties) {
- for (auto elm : *link->properties)
+ for (auto
const&
elm : *link->properties)
l->setProperty(elm.first, elm.second);
l->setProperty(elm.first, elm.second);
- delete link->properties;
}
if (link->latency_trace)
}
if (link->latency_trace)
@@
-147,9
+145,10
@@
void sg_platf_new_link(LinkCreationArgs* link)
if (link->state_trace)
l->setStateTrace(link->state_trace);
}
if (link->state_trace)
l->setStateTrace(link->state_trace);
}
+ delete link->properties;
}
}
-void sg_platf_new_cluster(
sg_platf_cluster_cbarg_t
cluster)
+void sg_platf_new_cluster(
ClusterCreationArgs*
cluster)
{
using simgrid::kernel::routing::ClusterZone;
using simgrid::kernel::routing::DragonflyZone;
{
using simgrid::kernel::routing::ClusterZone;
using simgrid::kernel::routing::DragonflyZone;
@@
-189,7
+188,7
@@
void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
current_as->hasLimiter_ = 1;
}
current_as->hasLimiter_ = 1;
}
- for (int i : *cluster->radicals) {
+ for (int
const&
i : *cluster->radicals) {
std::string host_id = std::string(cluster->prefix) + std::to_string(i) + cluster->suffix;
std::string link_id = std::string(cluster->id) + "_link_" + std::to_string(i);
std::string host_id = std::string(cluster->prefix) + std::to_string(i) + cluster->suffix;
std::string link_id = std::string(cluster->id) + "_link_" + std::to_string(i);
@@
-201,7
+200,7
@@
void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
if ((cluster->properties != nullptr) && (not cluster->properties->empty())) {
host.properties = new std::map<std::string, std::string>;
if ((cluster->properties != nullptr) && (not cluster->properties->empty())) {
host.properties = new std::map<std::string, std::string>;
- for (auto elm : *cluster->properties)
+ for (auto
const&
elm : *cluster->properties)
host.properties->insert({elm.first, elm.second});
}
host.properties->insert({elm.first, elm.second});
}
@@
-272,10
+271,10
@@
void sg_platf_new_cluster(sg_platf_cluster_cbarg_t cluster)
// Add a router.
XBT_DEBUG(" ");
// Add a router.
XBT_DEBUG(" ");
- XBT_DEBUG("<router id=\"%s\"/>", cluster->router_id);
- if (
not cluster->router_id || not strcmp(cluster->router_id, ""
)) {
+ XBT_DEBUG("<router id=\"%s\"/>", cluster->router_id
.c_str()
);
+ if (
cluster->router_id.empty(
)) {
std::string newid = std::string(cluster->prefix) + cluster->id + "_router" + cluster->suffix;
std::string newid = std::string(cluster->prefix) + cluster->id + "_router" + cluster->suffix;
- current_as->router_ = sg_platf_new_router(newid
.c_str()
, NULL);
+ current_as->router_ = sg_platf_new_router(newid, NULL);
} else {
current_as->router_ = sg_platf_new_router(cluster->router_id, NULL);
}
} else {
current_as->router_ = sg_platf_new_router(cluster->router_id, NULL);
}
@@
-316,7
+315,7
@@
void routing_cluster_add_backbone(simgrid::surf::LinkImpl* bb)
void sg_platf_new_cabinet(CabinetCreationArgs* cabinet)
{
void sg_platf_new_cabinet(CabinetCreationArgs* cabinet)
{
- for (int radical : *cabinet->radicals) {
+ for (int
const&
radical : *cabinet->radicals) {
std::string hostname = cabinet->prefix + std::to_string(radical) + cabinet->suffix;
s_sg_platf_host_cbarg_t host;
memset(&host, 0, sizeof(host));
std::string hostname = cabinet->prefix + std::to_string(radical) + cabinet->suffix;
s_sg_platf_host_cbarg_t host;
memset(&host, 0, sizeof(host));
@@
-376,7
+375,7
@@
void sg_platf_new_storage(StorageCreationArgs* storage)
auto s = surf_storage_model->createStorage(storage->id, stype->id, storage->content, storage->attach);
if (storage->properties) {
auto s = surf_storage_model->createStorage(storage->id, stype->id, storage->content, storage->attach);
if (storage->properties) {
- for (auto elm : *storage->properties)
+ for (auto
const&
elm : *storage->properties)
s->setProperty(elm.first, elm.second);
delete storage->properties;
}
s->setProperty(elm.first, elm.second);
delete storage->properties;
}
@@
-426,7
+425,7
@@
void sg_platf_new_process(sg_platf_process_cbarg_t process)
// The requested host does not exist. Do a nice message to the user
std::string msg = std::string("Cannot create process '") + process->function + "': host '" + process->host +
"' does not exist\nExisting hosts: '";
// The requested host does not exist. Do a nice message to the user
std::string msg = std::string("Cannot create process '") + process->function + "': host '" + process->host +
"' does not exist\nExisting hosts: '";
- for (auto kv : simgrid::s4u::host_list) {
+ for (auto
const&
kv : simgrid::s4u::host_list) {
simgrid::s4u::Host* host = kv.second;
msg += host->getName();
msg += "', '";
simgrid::s4u::Host* host = kv.second;
msg += host->getName();
msg += "', '";