git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3990
48e7efb5-ca39-0410-a469-
dd3cf9ba447f
sock_data->to_host,msgtype->name,
(double)whole_payload_size, -1);
SIMIX_register_action_to_condition(act,sock_data->cond);
sock_data->to_host,msgtype->name,
(double)whole_payload_size, -1);
SIMIX_register_action_to_condition(act,sock_data->cond);
- SIMIX_register_condition_to_action(act,sock_data->cond);
VERB5("Sending to %s(%s) a message type '%s' kind '%s' ID %lu",
SIMIX_host_get_name(sock_data->to_host),
VERB5("Sending to %s(%s) a message type '%s' kind '%s' ID %lu",
SIMIX_host_get_name(sock_data->to_host),
msg->type->name,e_gras_msg_kind_names[msg->kind], msg->ID);
SIMIX_cond_wait(sock_data->cond, sock_data->mutex);
msg->type->name,e_gras_msg_kind_names[msg->kind], msg->ID);
SIMIX_cond_wait(sock_data->cond, sock_data->mutex);
+ SIMIX_unregister_action_to_condition(act,sock_data->cond);
/* error treatmeant (FIXME)*/
/* cleanup structures */
/* error treatmeant (FIXME)*/
/* cleanup structures */
act = SIMIX_action_communicate(SIMIX_host_self(), sock_data->to_host,
name, size, -1);
SIMIX_register_action_to_condition(act,sock_data->cond);
act = SIMIX_action_communicate(SIMIX_host_self(), sock_data->to_host,
name, size, -1);
SIMIX_register_action_to_condition(act,sock_data->cond);
- SIMIX_register_condition_to_action(act,sock_data->cond);
-
SIMIX_cond_wait(sock_data->cond,sock_data->mutex);
SIMIX_cond_wait(sock_data->cond,sock_data->mutex);
+ SIMIX_unregister_action_to_condition(act,sock_data->cond);
/* error treatmeant (FIXME)*/
/* cleanup structures */
/* error treatmeant (FIXME)*/
/* cleanup structures */
act = SIMIX_action_execute(SIMIX_host_self(), (char*) "task", (duration)/reference);
SIMIX_register_action_to_condition(act,cond);
act = SIMIX_action_execute(SIMIX_host_self(), (char*) "task", (duration)/reference);
SIMIX_register_action_to_condition(act,cond);
- SIMIX_register_condition_to_action(act,cond);
SIMIX_cond_wait(cond, mutex);
SIMIX_cond_wait(cond, mutex);
+ SIMIX_unregister_action_to_condition(act,cond);
SIMIX_action_destroy(act);
SIMIX_mutex_unlock(mutex);
SIMIX_action_destroy(act);
SIMIX_mutex_unlock(mutex);
act = SIMIX_action_execute(SIMIX_host_self(), (char*)"task", (duration)/reference);
SIMIX_register_action_to_condition(act,cond);
act = SIMIX_action_execute(SIMIX_host_self(), (char*)"task", (duration)/reference);
SIMIX_register_action_to_condition(act,cond);
- SIMIX_register_condition_to_action(act,cond);
SIMIX_cond_wait(cond, mutex);
SIMIX_cond_wait(cond, mutex);
+ SIMIX_unregister_action_to_condition(act,cond);
SIMIX_action_destroy(act);
SIMIX_mutex_unlock(mutex);
SIMIX_action_destroy(act);
SIMIX_mutex_unlock(mutex);
process->simdata->waiting_task = t;
SIMIX_register_action_to_condition(t_simdata->comm, t_simdata->cond);
SIMIX_cond_wait(t_simdata->cond, t_simdata->mutex);
process->simdata->waiting_task = t;
SIMIX_register_action_to_condition(t_simdata->comm, t_simdata->cond);
SIMIX_cond_wait(t_simdata->cond, t_simdata->mutex);
+ SIMIX_unregister_action_to_condition(t_simdata->comm, t_simdata->cond);
process->simdata->waiting_task = NULL;
/* the task has already finished and the pointer must be null */
process->simdata->waiting_task = NULL;
/* the task has already finished and the pointer must be null */
self->simdata->waiting_task = task;
SIMIX_register_action_to_condition(simdata->compute, simdata->cond);
SIMIX_cond_wait(simdata->cond, simdata->mutex);
self->simdata->waiting_task = task;
SIMIX_register_action_to_condition(simdata->compute, simdata->cond);
SIMIX_cond_wait(simdata->cond, simdata->mutex);
+ SIMIX_unregister_action_to_condition(simdata->compute, simdata->cond);
self->simdata->waiting_task = NULL;
SIMIX_mutex_unlock(simdata->mutex);
self->simdata->waiting_task = NULL;
SIMIX_mutex_unlock(simdata->mutex);
self->simdata->waiting_task = task;
SIMIX_register_action_to_condition(simdata->compute, simdata->cond);
SIMIX_cond_wait(simdata->cond, simdata->mutex);
self->simdata->waiting_task = task;
SIMIX_register_action_to_condition(simdata->compute, simdata->cond);
SIMIX_cond_wait(simdata->cond, simdata->mutex);
+ SIMIX_unregister_action_to_condition(simdata->compute, simdata->cond);
self->simdata->waiting_task = NULL;
self->simdata->waiting_task = NULL;
SIMIX_register_action_to_condition(act_sleep, cond);
SIMIX_cond_wait(cond, mutex);
SIMIX_register_action_to_condition(act_sleep, cond);
SIMIX_cond_wait(cond, mutex);
+ SIMIX_unregister_action_to_condition(act_sleep, cond);
SIMIX_mutex_unlock(mutex);
/* remove variables */
SIMIX_mutex_unlock(mutex);
/* remove variables */