- case SIMIX_ACTION_SLEEP:
- SIMIX_process_sleep_destroy(process->waiting_action);
- break;
-
- case SIMIX_ACTION_JOIN:
- SIMIX_process_sleep_destroy(process->waiting_action);
+ case SIMIX_SYNC_SLEEP:
+ case SIMIX_SYNC_JOIN:
+ SIMIX_process_sleep_destroy(process->waiting_synchro);
+ if (!xbt_dynar_member(simix_global->process_to_run, &(process)) && process != SIMIX_process_self()) {
+ XBT_DEBUG("Inserting %s in the to_run list", process->name);
+ xbt_dynar_push_as(simix_global->process_to_run, smx_process_t, process);
+ }