X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/9189fe94c14ef9e31142d1603a1979ea7e731a0a..1d6f35064b982906e6931d6e2cfbf22ab51a10b3:/src/surf/workstation.c diff --git a/src/surf/workstation.c b/src/surf/workstation.c index b4603c1988..757e10e1b9 100644 --- a/src/surf/workstation.c +++ b/src/surf/workstation.c @@ -11,9 +11,6 @@ #include "cpu_private.h" #include "network_private.h" -XBT_LOG_NEW_DEFAULT_SUBCATEGORY(workstation, surf, - "Logging specific to the SURF workstation module"); - surf_workstation_resource_t surf_workstation_resource = NULL; xbt_dict_t workstation_set = NULL; @@ -108,7 +105,7 @@ static void action_use(surf_action_t action) else if(action->resource_type==(surf_resource_t)surf_cpu_resource) surf_cpu_resource->common_public->action_use(action); else if(action->resource_type==(surf_resource_t)surf_workstation_resource) - return parallel_action_use(action); + parallel_action_use(action); else DIE_IMPOSSIBLE; return; } @@ -120,7 +117,7 @@ static void action_cancel(surf_action_t action) else if(action->resource_type==(surf_resource_t)surf_cpu_resource) surf_cpu_resource->common_public->action_cancel(action); else if(action->resource_type==(surf_resource_t)surf_workstation_resource) - return parallel_action_use(action); + parallel_action_use(action); else DIE_IMPOSSIBLE; return; } @@ -262,6 +259,15 @@ static void action_set_max_duration(surf_action_t action, double duration) surf_cpu_resource->common_public->set_max_duration(action,duration); else DIE_IMPOSSIBLE; } + +static void action_set_priority(surf_action_t action, double priority) +{ + if(action->resource_type==(surf_resource_t)surf_network_resource) + surf_network_resource->common_public->set_priority(action,priority); + else if(action->resource_type==(surf_resource_t)surf_cpu_resource) + surf_cpu_resource->common_public->set_priority(action,priority); + else DIE_IMPOSSIBLE; +} static surf_action_t communicate(void *workstation_src, void *workstation_dst, double size, @@ -444,6 +450,7 @@ static void surf_workstation_resource_init_internal(void) surf_workstation_resource->common_public->resume = action_resume; surf_workstation_resource->common_public->is_suspended = action_is_suspended; surf_workstation_resource->common_public->set_max_duration = action_set_max_duration; + surf_workstation_resource->common_public->set_priority = action_set_priority; surf_workstation_resource->extension_public->execute = execute; surf_workstation_resource->extension_public->sleep = action_sleep;