X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4cab4842222242d765367092141b3ece6aa903d2..ccc7b5398547d61580481a20c1175a82a3afaa1f:/src/smpi/internals/smpi_shared.cpp diff --git a/src/smpi/internals/smpi_shared.cpp b/src/smpi/internals/smpi_shared.cpp index 3e61ea75a9..728b97a2b7 100644 --- a/src/smpi/internals/smpi_shared.cpp +++ b/src/smpi/internals/smpi_shared.cpp @@ -73,21 +73,21 @@ public: } }; -typedef struct { +struct shared_data_t { int fd = -1; int count = 0; -} shared_data_t; +}; std::unordered_map> allocs; typedef decltype(allocs)::value_type shared_data_key_type; -typedef struct { +struct shared_metadata_t { size_t size; size_t allocated_size; void *allocated_ptr; std::vector> private_blocks; shared_data_key_type* data; -} shared_metadata_t; +}; std::map allocs_metadata; std::map calls; @@ -232,8 +232,7 @@ void* smpi_shared_malloc_partial(size_t size, size_t* shared_block_offsets, int * We cannot use a same file for the two type of calls, since the first one needs to be * opened in a hugetlbfs mount point whereas the second needs to be a "classical" file. */ if(use_huge_page && smpi_shared_malloc_bogusfile_huge_page == -1) { - const char *const array[] = {huge_page_mount_point, "simgrid-shmalloc-XXXXXX", nullptr}; - char *huge_page_filename = xbt_str_join_array(array, "/"); + char* huge_page_filename = bprintf("%s/simgrid-shmalloc-XXXXXX", huge_page_mount_point); smpi_shared_malloc_bogusfile_huge_page = mkstemp(huge_page_filename); XBT_DEBUG("bogusfile_huge_page: %s\n", huge_page_filename); unlink(huge_page_filename);