return -1;
}
-static inline void surf_storage_free(void *r)
-{
- delete static_cast<simgrid::surf::StorageImpl*>(r);
-}
-
void sg_version_check(int lib_version_major, int lib_version_minor, int lib_version_patch)
{
if ((lib_version_major != SIMGRID_VERSION_MAJOR) || (lib_version_minor != SIMGRID_VERSION_MINOR)) {
XBT_DEBUG("Create all Libs");
USER_HOST_LEVEL = simgrid::s4u::Host::extension_create(nullptr);
- storage_lib = xbt_lib_new();
watched_hosts_lib = xbt_dict_new_homogeneous(nullptr);
- XBT_DEBUG("Add SURF levels");
- SURF_STORAGE_LEVEL = xbt_lib_add_level(storage_lib,surf_storage_free);
-
xbt_init(argc, argv);
if (not all_existing_models)
all_existing_models = new std::vector<simgrid::surf::Model*>();
TRACE_end(); /* Just in case it was not called by the upper layer (or there is no upper layer) */
sg_host_exit();
- xbt_lib_free(&storage_lib);
sg_link_exit();
xbt_dict_free(&watched_hosts_lib);
for (auto e : storage_types) {
delete stype->model_properties;
free(stype);
}
+ for (auto s : *simgrid::surf::StorageImpl::storages)
+ delete s.second;
+ delete simgrid::surf::StorageImpl::storages;
for (auto model : *all_existing_models)
delete model;