simgrid::simix::kernel(std::bind(SIMIX_process_set_data, process, data));
}
-static void kill_process(void* arg)
+static void kill_process_from_timer(void* arg)
{
- simix_global->kill_process_function((smx_process_t) arg);
+ smx_process_t process = (smx_process_t) arg;
+ simix_global->kill_process_function(process);
+ process->kill_timer=NULL;
}
/**
if (simix_global->kill_process_function) {
XBT_DEBUG("Set kill time %f for process %s(%s)",kill_time, process->name,
sg_host_get_name(process->host));
- process->kill_timer = SIMIX_timer_set(kill_time, kill_process, process);
+ process->kill_timer = SIMIX_timer_set(kill_time, kill_process_from_timer, process);
}
}
}
return simcall_BODY_mbox_create(name);
}
-
-/**
- * \ingroup simix_mbox_management
- * \brief Destroy a rendez-vous point
- * \param mbox The rendez-vous point to destroy
- */
-void simcall_mbox_destroy(smx_mailbox_t mbox)
-{
- simcall_BODY_mbox_destroy(mbox);
-}
/**
* \ingroup simix_mbox_management
* \brief Returns a rendez-vous point knowing its name
return SIMIX_mbox_get_by_name(name);
}
-/**
- * \ingroup simix_mbox_management
- * \brief Counts the number of communication synchros of a given host pending
- * on a rendez-vous point.
- * \param mbox The rendez-vous point
- * \param host The host to be counted
- * \return The number of comm synchros pending in the mbox
- */
-int simcall_mbox_comm_count_by_host(smx_mailbox_t mbox, sg_host_t host)
-{
- return simcall_BODY_mbox_comm_count_by_host(mbox, host);
-}
-
/**
* \ingroup simix_mbox_management
* \brief returns the communication at the head of the rendez-vous