msg_global->max_channel = 0;
msg_global->PID = 1;
msg_global->sent_msg = 0;
+ msg_global->task_copy_callback = NULL;
/* initialization of the action module */
_MSG_action_init();
SIMIX_function_register_process_create(MSG_process_create_from_SIMIX);
SIMIX_function_register_process_cleanup(MSG_process_cleanup_from_SIMIX);
SIMIX_function_register_process_kill(MSG_process_kill_from_SIMIX);
+ SIMIX_comm_set_copy_data_callback(MSG_comm_copy_data_from_SIMIX);
}
#ifdef HAVE_TRACING
TRACE_start();
return MSG_OK;
}
+MSG_error_t MSG_main_stateful(void)
+{
+ /* Clean IO before the run */
+ fflush(stdout);
+ fflush(stderr);
+
+ if (MC_IS_ENABLED) {
+ MC_modelcheck_stateful();
+ }
+ else {
+ SIMIX_run();
+ }
+ return MSG_OK;
+}
+
+
+MSG_error_t MSG_main_liveness(xbt_automaton_t a, char *prgm)
+{
+ /* Clean IO before the run */
+ fflush(stdout);
+ fflush(stderr);
+
+ if (MC_IS_ENABLED) {
+ MC_modelcheck_liveness(a, prgm);
+ }
+ else {
+ SIMIX_run();
+ }
+ return MSG_OK;
+}
+
/** \ingroup msg_simulation
* \brief Kill all running process