MSG_BT(simdata->isused, "Using Backtrace");
else
simdata->isused = (void*)1;
MSG_BT(simdata->isused, "Using Backtrace");
else
simdata->isused = (void*)1;
XBT_DEBUG("Execution task '%s' finished in state %d",
task->name, (int)comp_state);
XBT_DEBUG("Execution task '%s' finished in state %d",
task->name, (int)comp_state);
t_simdata->source = ((simdata_process_t) SIMIX_process_self_get_data(process))->m_host;
if (t_simdata->isused != 0) {
t_simdata->source = ((simdata_process_t) SIMIX_process_self_get_data(process))->m_host;
if (t_simdata->isused != 0) {
- THROWF(unknown_error, 0, "This task is still being used somewhere else. You cannot send it now. Go fix your code! (use --cfg=msg/multiple_backtraces:on to get the backtrace of the other process)");
+ xbt_assert(t_simdata->isused == 0,
+ "This task is still being used somewhere else. You cannot send it now. Go fix your code! (use --cfg=msg/debug_multiple_use:on to get the backtrace of the other process)");
MSG_BT(t_simdata->isused, "Using Backtrace");
else
t_simdata->isused = (void*)1;
MSG_BT(t_simdata->isused, "Using Backtrace");
else
t_simdata->isused = (void*)1;
/* Send it by calling SIMIX network layer */
smx_action_t act = simcall_comm_isend(mailbox, t_simdata->message_size,
t_simdata->rate, task, sizeof(void *),
/* Send it by calling SIMIX network layer */
smx_action_t act = simcall_comm_isend(mailbox, t_simdata->message_size,
t_simdata->rate, task, sizeof(void *),
- match_fun, cleanup, match_data,detached);
+ match_fun, cleanup, NULL, match_data,detached);
- comm->s_comm = simcall_comm_irecv(rdv, task, NULL, NULL, NULL, rate);
+ comm->s_comm = simcall_comm_irecv(rdv, task, NULL, NULL, NULL, NULL, rate);