X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/84736de8fcf2bd8af274a77c2b31d63191a6a822..0c14e681436e252f680310c7696b3ba17a349706:/src/simix/smx_smurf.c diff --git a/src/simix/smx_smurf.c b/src/simix/smx_smurf.c index 86297496bf..a66b8f45ae 100644 --- a/src/simix/smx_smurf.c +++ b/src/simix/smx_smurf.c @@ -20,7 +20,7 @@ void SIMIX_simcall_push(smx_process_t self) { if (self != simix_global->maestro_process) { XBT_DEBUG("Yield process '%s' on simcall %s (%d)", self->name, - SIMIX_simcall_name(self->simcall.call), self->simcall.call); + SIMIX_simcall_name(self->simcall.call), (int)self->simcall.call); SIMIX_process_yield(self); } else { SIMIX_simcall_pre(&self->simcall, 0); @@ -30,10 +30,15 @@ void SIMIX_simcall_push(smx_process_t self) void SIMIX_simcall_answer(smx_simcall_t simcall) { if (simcall->issuer != simix_global->maestro_process){ - XBT_DEBUG("Answer simcall %s (%d) issued by %s (%p)", SIMIX_simcall_name(simcall->call), simcall->call, + XBT_DEBUG("Answer simcall %s (%d) issued by %s (%p)", SIMIX_simcall_name(simcall->call), (int)simcall->call, simcall->issuer->name, simcall->issuer); simcall->issuer->simcall.call = SIMCALL_NONE; +/* This check should be useless and slows everyone. Reactivate if you see something + * weird in process scheduling. + */ +/* if(!xbt_dynar_member(simix_global->process_to_run, &(simcall->issuer))) */ xbt_dynar_push_as(simix_global->process_to_run, smx_process_t, simcall->issuer); +/* else DIE_IMPOSSIBLE; */ } } @@ -303,6 +308,7 @@ void SIMIX_simcall_pre(smx_simcall_t simcall, int value) simcall->process_create.code, simcall->process_create.data, simcall->process_create.hostname, + simcall->process_create.kill_time, simcall->process_create.argc, simcall->process_create.argv, simcall->process_create.properties); @@ -489,6 +495,18 @@ void SIMIX_simcall_pre(smx_simcall_t simcall, int value) SIMIX_pre_file_write(simcall); break; + case SIMCALL_FILE_OPEN: + SIMIX_pre_file_open(simcall); + break; + + case SIMCALL_FILE_CLOSE: + SIMIX_pre_file_close(simcall); + break; + + case SIMCALL_FILE_STAT: + SIMIX_pre_file_stat(simcall); + break; + case SIMCALL_NONE: THROWF(arg_error,0,"Asked to do the noop syscall on %s@%s", SIMIX_process_get_name(simcall->issuer),