include/simgrid/config.h
include/smpi/smpif.h
src/internal_config.h
+src/simgrid/version.h
testprog
### Cmake files
CPackConfig.cmake
src/smpi/mpif.f90
src/smpi/mpif.f90.generated
a.out
+simgrid.config
+simgrid.creator
+simgrid.includes
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/include/simgrid/config.h.generated ${CMAKE_BINARY_DIR}/include/simgrid/config.h)
file(REMOVE ${CMAKE_BINARY_DIR}/src/internal_config.h.generated)
file(REMOVE ${CMAKE_BINARY_DIR}/include/simgrid/config.h.generated)
+file(REMOVE ${CMAKE_BINARY_DIR}/src/simgrid/version.h.generated)
# We need two versions of the SMPI scripts because they contain the path to the library
# so, it depends of whether SimGrid is installed, or run from the sources (during the build)
/* Initialize the thread pool data structure */
this->status = PARMAP_WORK;
this->work_round = 0;
- this->workers.reserve(num_workers);
+ this->workers.resize(num_workers);
this->num_workers = num_workers;
this->synchro = new_synchro(mode);
for (unsigned i = 1; i < num_workers; i++)
workers[i]->join();
- workers.clear();
delete synchro;
}
void_pfn_smxprocess_t cleanup_func,
smx_actor_t simix_process)
{
- xbt_assert(simix_global, "simix is not initialized, please call MSG_init first");
return simix_global->context_factory->create_context(
std::move(code), cleanup_func, simix_process);
}
unsigned long mask = ~((unsigned long)xbt_pagesize - 1);
void *addr = (void*)(((unsigned long)sbrk(0) + HEAP_OFFSET) & mask);
__mmalloc_default_mdp = xbt_mheap_new_options(-1, addr, XBT_MHEAP_OPTION_MEMSET);
- /* Fixme? only the default mdp in protected against forks */
- // This is mandated to protect the mmalloced areas through forks. Think of tesh.
- // Nah, removing the mutex isn't a good idea either for tesh
- int res = pthread_atfork(mmalloc_fork_prepare, mmalloc_fork_parent, mmalloc_fork_child);
- if (res != 0)
- THROWF(system_error, 0, "pthread_atfork() failed: return value %d", res);
}
xbt_assert(__mmalloc_default_mdp != NULL);