/** Callback fired when the platform is about to be created (ie, just before the xml file is parsed) */
extern XBT_PUBLIC xbt::signal<void()> on_platform_creation;
+/** Callback fired when some configuration has be done directly in the XML file */
+extern XBT_PUBLIC xbt::signal<void()> on_config_in_platform_done;
+
/** Callback fired when the main simulation loop ends, just before the end of Engine::run() */
extern XBT_PUBLIC xbt::signal<void()> on_simulation_end;
simgrid::instr::TraceFormat simgrid::instr::trace_format = simgrid::instr::TraceFormat::Paje;
-void TRACE_start()
+static void TRACE_start()
{
if (trace_active)
return;
/* Connect callbacks */
simgrid::s4u::on_platform_creation.connect(TRACE_start);
+ simgrid::s4u::on_config_in_platform_done.connect(TRACE_start);
simgrid::s4u::on_deadlock.connect(TRACE_end);
simgrid::s4u::on_simulation_end.connect(TRACE_end);
}
void instr_new_value_for_user_state_type(std::string new_typename, const char* value, std::string color);
/* instr_config.c */
-XBT_PRIVATE void TRACE_start();
XBT_PRIVATE void TRACE_TI_start();
XBT_PRIVATE void TRACE_TI_end();
XBT_PRIVATE void TRACE_global_init();
namespace s4u {
xbt::signal<void()> on_platform_creation;
xbt::signal<void()> on_platform_created;
+xbt::signal<void()> on_config_in_platform_done;
xbt::signal<void()> on_simulation_end;
xbt::signal<void(double)> on_time_advance;
xbt::signal<void(void)> on_deadlock;
XBT_INFO("The custom configuration '%s' is already defined by user!", elm.first.c_str());
}
XBT_DEBUG("End configuration name = %s",A_surfxml_config_id);
- if (TRACE_is_enabled())
- TRACE_start();
+ simgrid::s4u::on_config_in_platform_done();
delete current_property_set;
current_property_set = nullptr;
}