msg_error_t ret = MSG_parallel_task_execute(task);
MSG_host_del_task(host, task);
-
return ret;
}
*/
void MSG_comm_destroy(msg_comm_t comm)
{
+ /* Diagnose a possible user error: destroying a comm that is not done yet, and not detached either */
+ if ((comm->s_comm->state == SIMIX_READY || comm->s_comm->state == SIMIX_RUNNING)
+ && (!static_cast<simgrid::kernel::activity::Comm*>(comm->s_comm)->detached))
+ XBT_WARN("You are destroying a communication that is not done yet but %s. "
+ "This will lead to issues when the other side continues this communication. "
+ "Are you looking for MSG_task_dsend()?",
+ (comm->s_comm->state == SIMIX_READY ? "ready" : "running"));
+
xbt_free(comm);
}
* \param asr the name of a router or AS
* \param name a property name
* \param value what to change the property to
- * \param free_ctn the freeing function to use to kill the value on need
*/
-void MSG_as_router_set_property_value(const char* asr, const char *name, char *value,void_f_pvoid_t free_ctn) {
- xbt_dict_set(MSG_as_router_get_properties(asr), name, value,free_ctn);
+void MSG_as_router_set_property_value(const char* asr, const char* name, char* value)
+{
+ xbt_dict_set(MSG_as_router_get_properties(asr), name, value, nullptr);
}