/** @brief Simcalls' names (generated from src/simix/simcalls.in) */
const char* simcall_names[] = {
"SIMCALL_NONE",
- "SIMCALL_PROCESS_KILL",
"SIMCALL_PROCESS_KILLALL",
"SIMCALL_PROCESS_CLEANUP",
"SIMCALL_PROCESS_SUSPEND",
"SIMCALL_COMM_TESTANY",
"SIMCALL_MUTEX_LOCK",
"SIMCALL_MUTEX_TRYLOCK",
+ "SIMCALL_MUTEX_UNLOCK",
"SIMCALL_COND_INIT",
"SIMCALL_COND_SIGNAL",
"SIMCALL_COND_WAIT",
if (simcall->issuer->context->iwannadie && simcall->call != SIMCALL_PROCESS_CLEANUP)
return;
switch (simcall->call) {
-case SIMCALL_PROCESS_KILL:
- simcall_HANDLER_process_kill(simcall, simgrid::simix::unmarshal<smx_actor_t>(simcall->args[0]));
- SIMIX_simcall_answer(simcall);
- break;
-
case SIMCALL_PROCESS_KILLALL:
simcall_HANDLER_process_killall(simcall, simgrid::simix::unmarshal<int>(simcall->args[0]));
SIMIX_simcall_answer(simcall);
SIMIX_simcall_answer(simcall);
break;
+case SIMCALL_MUTEX_UNLOCK:
+ simcall_HANDLER_mutex_unlock(simcall, simgrid::simix::unmarshal<smx_mutex_t>(simcall->args[0]));
+ SIMIX_simcall_answer(simcall);
+ break;
+
case SIMCALL_COND_INIT:
simgrid::simix::marshal<smx_cond_t>(simcall->result, SIMIX_cond_init());
SIMIX_simcall_answer(simcall);