static void* SIMIX_synchro_mallocator_new_f(void);
static void SIMIX_synchro_mallocator_free_f(void* synchro);
static void SIMIX_synchro_mallocator_reset_f(void* synchro);
static void* SIMIX_synchro_mallocator_new_f(void);
static void SIMIX_synchro_mallocator_free_f(void* synchro);
static void SIMIX_synchro_mallocator_reset_f(void* synchro);
fprintf(stderr, "Segmentation fault.\n");
#ifdef HAVE_SMPI
if (smpi_enabled() && !smpi_privatize_global_variables) {
fprintf(stderr, "Segmentation fault.\n");
#ifdef HAVE_SMPI
if (smpi_enabled() && !smpi_privatize_global_variables) {
simix_global->synchro_mallocator = xbt_mallocator_new(65536,
SIMIX_synchro_mallocator_new_f, SIMIX_synchro_mallocator_free_f,
SIMIX_synchro_mallocator_reset_f);
simix_global->synchro_mallocator = xbt_mallocator_new(65536,
SIMIX_synchro_mallocator_new_f, SIMIX_synchro_mallocator_free_f,
SIMIX_synchro_mallocator_reset_f);
simix_global->mutex = xbt_os_mutex_init();
surf_init(argc, argv); /* Initialize SURF structures */
simix_global->mutex = xbt_os_mutex_init();
surf_init(argc, argv); /* Initialize SURF structures */
- sg_platf_postparse_add_cb(SIMIX_post_create_environment);
- surf_on_host_created(SIMIX_host_create);
+ simgrid::surf::on_postparse.connect(SIMIX_post_create_environment);
+ simgrid::s4u::Host::onCreation.connect([](simgrid::s4u::Host& host) {
+ SIMIX_host_create(&host);
+ });
smx_cleaned = 1;
XBT_DEBUG("SIMIX_clean called. Simulation's over.");
if (!xbt_dynar_is_empty(simix_global->process_to_run) && SIMIX_get_clock() == 0.0) {
smx_cleaned = 1;
XBT_DEBUG("SIMIX_clean called. Simulation's over.");
if (!xbt_dynar_is_empty(simix_global->process_to_run) && SIMIX_get_clock() == 0.0) {
- XBT_CRITICAL(" ");
- XBT_CRITICAL("The time is still 0, and you still have processes ready to run.");
- XBT_CRITICAL("It seems that you forgot to run the simulation that you setup.");
- xbt_die("Bailing out to avoid that stop-before-start madness. Please fix your code.");
+ XBT_CRITICAL(" ");
+ XBT_CRITICAL("The time is still 0, and you still have processes ready to run.");
+ XBT_CRITICAL("It seems that you forgot to run the simulation that you setup.");
+ xbt_die("Bailing out to avoid that stop-before-start madness. Please fix your code.");
}
/* Kill all processes (but maestro) */
SIMIX_process_killall(simix_global->maestro_process, 1);
}
/* Kill all processes (but maestro) */
SIMIX_process_killall(simix_global->maestro_process, 1);
XBT_DEBUG("Handling process whose action failed");
while ((action = surf_model_extract_failed_action_set(model))) {
XBT_DEBUG(" Handling Action %p",action);
XBT_DEBUG("Handling process whose action failed");
while ((action = surf_model_extract_failed_action_set(model))) {
XBT_DEBUG(" Handling Action %p",action);
}
XBT_DEBUG("Handling process whose action terminated normally");
while ((action = surf_model_extract_done_action_set(model))) {
XBT_DEBUG(" Handling Action %p",action);
}
XBT_DEBUG("Handling process whose action terminated normally");
while ((action = surf_model_extract_done_action_set(model))) {
XBT_DEBUG(" Handling Action %p",action);
XBT_DEBUG("Handling process whose action failed");
while ((action = surf_model_extract_failed_action_set(model))) {
XBT_DEBUG(" Handling Action %p",action);
XBT_DEBUG("Handling process whose action failed");
while ((action = surf_model_extract_failed_action_set(model))) {
XBT_DEBUG(" Handling Action %p",action);
}
XBT_DEBUG("Handling process whose action terminated normally");
while ((action = surf_model_extract_done_action_set(model))) {
XBT_DEBUG(" Handling Action %p",action);
}
XBT_DEBUG("Handling process whose action terminated normally");
while ((action = surf_model_extract_done_action_set(model))) {
XBT_DEBUG(" Handling Action %p",action);
}
/** @brief Returns the date at which the timer will trigger (or 0 if NULL timer) */
double SIMIX_timer_get_date(smx_timer_t timer) {
}
/** @brief Returns the date at which the timer will trigger (or 0 if NULL timer) */
double SIMIX_timer_get_date(smx_timer_t timer) {