X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/777ab1d984a7f99783e0a9dd18b4f52358900ee8..ee5447e55003f9f5292edc13ee50794157ac56b0:/src/simix/smx_io.c diff --git a/src/simix/smx_io.c b/src/simix/smx_io.c index dde44a38c4..eb4eac7597 100644 --- a/src/simix/smx_io.c +++ b/src/simix/smx_io.c @@ -231,39 +231,16 @@ smx_action_t SIMIX_file_ls(smx_process_t process, const char* mount, const char return action; } -void SIMIX_pre_file_get_size(smx_simcall_t simcall, smx_file_t fd) +size_t SIMIX_pre_file_get_size(smx_simcall_t simcall, smx_file_t fd) { - smx_action_t action = SIMIX_file_get_size(simcall->issuer, fd); - xbt_fifo_push(action->simcalls, simcall); - simcall->issuer->waiting_action = action; + return SIMIX_file_get_size(simcall->issuer, fd); } -smx_action_t SIMIX_file_get_size(smx_process_t process, smx_file_t fd) +size_t SIMIX_file_get_size(smx_process_t process, smx_file_t fd) { - smx_action_t action; smx_host_t host = process->smx_host; - - /* check if the host is active */ - if (surf_workstation_model->extension. - workstation.get_state(host) != SURF_RESOURCE_ON) { - THROWF(host_error, 0, "Host %s failed, you cannot call this function", - sg_host_name(host)); - } - - action = xbt_mallocator_get(simix_global->action_mallocator); - action->type = SIMIX_ACTION_IO; - action->name = NULL; -#ifdef HAVE_TRACING - action->category = NULL; -#endif - - action->io.host = host; - action->io.surf_io = surf_workstation_model->extension.workstation.get_size(host, fd->surf_file); - - surf_workstation_model->action_data_set(action->io.surf_io, action); - XBT_DEBUG("Create io action %p", action); - - return action; + return surf_workstation_model->extension.workstation.get_size(host, + fd->surf_file); } @@ -313,11 +290,6 @@ void SIMIX_post_io(smx_action_t action) // } simcall_file_ls__set__result(simcall, (action->io.surf_io)->ls_dict); break; - case SIMCALL_FILE_GET_SIZE: - simcall_file_get_size__set__result(simcall, - ((action->io.surf_io)->file->size)); - break; - default: break; }