xbt_dynar_t surf_path = NULL;
double generic_maxmin_share_resources(xbt_swag_t running_actions,
- size_t offset)
+ size_t offset)
+{
+ return generic_maxmin_share_resources2(running_actions, offset,
+ maxmin_system);
+}
+
+double generic_maxmin_share_resources2(xbt_swag_t running_actions,
+ size_t offset,
+ lmm_system_t sys)
{
surf_action_t action = NULL;
double min = -1;
double value = -1;
#define VARIABLE(action) (*((lmm_variable_t*)(((char *) (action)) + (offset))))
- lmm_solve(maxmin_system);
+ lmm_solve(sys);
xbt_swag_foreach(action, running_actions) {
value = lmm_variable_getvalue(VARIABLE(action));
maxmin_system = lmm_system_new();
}
+static char* path_name = NULL;
FILE *surf_fopen(const char *name, const char *mode)
{
int i;
char* path = NULL;
FILE *file = NULL;
- static char* path_name = NULL;
+
+ xbt_assert1((name!=NULL), "Need a real file name, not \"%s\"\n",name);
xbt_assert0(surf_path,"surf_init has to be called before using surf_fopen");
if(!path_name) path_name=xbt_new0(char,strlen(name)+1);
if (resource_list)
xbt_dynar_free(&resource_list);
+ if(surf_path)
+ xbt_dynar_free(&surf_path);
+
tmgr_finalize();
surf_parse_lex_destroy();
+ if(path_name) {
+ xbt_free(path_name);
+ path_name = NULL;
+ }
}
double surf_solve(void)