X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0284ed47bfa6a30d06972491fe2f03c53721c18f..33d0a5072b2c5d0a0d12740ba41434a5876ce997:/src/smpi/internals/smpi_global.cpp diff --git a/src/smpi/internals/smpi_global.cpp b/src/smpi/internals/smpi_global.cpp index 66ebe69144..6638b9cf75 100644 --- a/src/smpi/internals/smpi_global.cpp +++ b/src/smpi/internals/smpi_global.cpp @@ -23,7 +23,7 @@ #include #include -#if not defined(__APPLE__) +#if not defined(__APPLE__) && not defined(__HAIKU__) #include #endif @@ -33,7 +33,7 @@ # define MAC_OS_X_VERSION_10_12 101200 # endif constexpr bool HAVE_WORKING_MMAP = (MAC_OS_X_VERSION_MIN_REQUIRED >= MAC_OS_X_VERSION_10_12); -#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__sun) +#elif defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__sun) || defined(__HAIKU__) constexpr bool HAVE_WORKING_MMAP = false; #else constexpr bool HAVE_WORKING_MMAP = true; @@ -168,14 +168,12 @@ static void check_blocks(std::vector> &private_blocks, void smpi_comm_copy_buffer_callback(simgrid::kernel::activity::CommImpl* comm, void* buff, size_t buff_size) { - int src_shared = 0; - int dst_shared = 0; size_t src_offset = 0; size_t dst_offset = 0; std::vector> src_private_blocks; std::vector> dst_private_blocks; XBT_DEBUG("Copy the data over"); - if((src_shared=smpi_is_shared(buff, src_private_blocks, &src_offset))) { + if(smpi_is_shared(buff, src_private_blocks, &src_offset)) { XBT_DEBUG("Sender %p is shared. Let's ignore it.", buff); src_private_blocks = shift_and_frame_private_blocks(src_private_blocks, src_offset, buff_size); } @@ -183,7 +181,7 @@ void smpi_comm_copy_buffer_callback(simgrid::kernel::activity::CommImpl* comm, v src_private_blocks.clear(); src_private_blocks.push_back(std::make_pair(0, buff_size)); } - if ((dst_shared = smpi_is_shared((char*)comm->dst_buff_, dst_private_blocks, &dst_offset))) { + if (smpi_is_shared((char*)comm->dst_buff_, dst_private_blocks, &dst_offset)) { XBT_DEBUG("Receiver %p is shared. Let's ignore it.", (char*)comm->dst_buff_); dst_private_blocks = shift_and_frame_private_blocks(dst_private_blocks, dst_offset, buff_size); } @@ -214,7 +212,7 @@ void smpi_comm_copy_buffer_callback(simgrid::kernel::activity::CommImpl* comm, v XBT_DEBUG("Copying %zu bytes from %p to %p", buff_size, tmpbuff, comm->dst_buff_); memcpy_private(comm->dst_buff_, tmpbuff, private_blocks); - if (comm->detached_) { + if (comm->detached()) { // if this is a detached send, the source buffer was duplicated by SMPI // sender to make the original buffer available to the application ASAP xbt_free(buff); @@ -529,7 +527,7 @@ static void smpi_copy_file(const std::string& src, const std::string& target, of close(fdout); } -#if not defined(__APPLE__) +#if not defined(__APPLE__) && not defined(__HAIKU__) static int visit_libs(struct dl_phdr_info* info, size_t, void* data) { char* libname = (char*)(data); @@ -562,7 +560,7 @@ static void smpi_init_privatization_dlopen(const std::string& executable) // get library name from path char fullpath[512] = {'\0'}; strncpy(fullpath, libname.c_str(), 511); -#if not defined(__APPLE__) +#if not defined(__APPLE__) && not defined(__HAIKU__) int ret = dl_iterate_phdr(visit_libs, fullpath); if (ret == 0) xbt_die("Can't find a linked %s - check the setting you gave to smpi/privatize-libs", fullpath);