msg_global = xbt_new0(s_MSG_Global_t, 1);
+#ifdef MSG_USE_DEPRECATED
msg_global->max_channel = 0;
+#endif
msg_global->PID = 1;
msg_global->sent_msg = 0;
+ msg_global->task_copy_callback = NULL;
+ msg_global->process_data_cleanup = NULL;
/* initialization of the action module */
_MSG_action_init();
MSG_HOST_LEVEL = xbt_lib_add_level(host_lib, (void_f_pvoid_t) __MSG_host_destroy);
}
+#ifdef MSG_USE_DEPRECATED
/** \defgroup m_channel_management Understanding channels
* \brief This section briefly describes the channel notion of MSG
* (#m_channel_t).
*/
MSG_error_t MSG_set_channel_number(int number)
{
+ XBT_WARN("DEPRECATED! Now use alias");
xbt_assert((msg_global)
&& (msg_global->max_channel == 0),
"Channel number already set!");
*/
int MSG_get_channel_number(void)
{
+ XBT_WARN("DEPRECATED! Now use alias");
xbt_assert((msg_global)
&& (msg_global->max_channel != 0),
"Channel number not set yet!");
return msg_global->max_channel;
}
+#endif
/** \ingroup msg_simulation
* \brief Launch the MSG simulation
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
*/
int MSG_process_killall(int reset_PIDs)
{
- SIMIX_req_process_killall();
+ simcall_process_killall();
if (reset_PIDs > 0) {
msg_global->PID = reset_PIDs;