if (!*resource) {
ul_logerr("No resource manager for %d.%d registered\n",
key.type, key.id);
- return FRSH_ERR_RESOURCE_ID_INVALID;
+ return FRES_ERR_NO_RESOURCE_MANAGER;
}
}
else if (key.type != key2.type ||
struct res_key resource;
forb_server_id server_id;
char server_id_str[40];
+ int ret;
forb_get_server_id(ra_obj, &server_id);
forb_server_id_to_string(server_id_str, &server_id, sizeof(server_id_str));
if (!res) {
ul_logerr("No manager found for %d.%d. Unable to register the allocator!\n",
restype, resid);
+ ret = FRES_ERR_NO_RESOURCE_MANAGER;
goto err;
}
ra = fcb_alloc_find(res, &server_id);
ul_logerr("Allocator from already registered (%s)\n",
str);
forb_free(str);
+ ret = FRES_ERR_ALLOCATOR_ALREADY_REGISTERED;
goto err;
}
ra = malloc(sizeof(*ra));
if (!ra) {
+ ret = ENOMEM;
goto err;
}
ra->app = server_id;
fcb_alloc_insert(res, ra);
return 0;
err:
- return FRSH_ERR_RESOURCE_ID_INVALID;
+ return ret;
}
void get_resources(fres_contract_broker obj, fres_resource_seq** resources, CORBA_Environment *ev)
MSG(FORB_EX_OBJECT_NOT_EXIST);
MSG(FORB_EX_TIMEOUT);
MSG(FORB_EX_APPLICATION);
+ MSG(NO_RESOURCE_MANAGER);
+ MSG(ALLOCATOR_ALREADY_REGISTERED);
}
if (s == NULL) return FRSH_ERR_BAD_ARGUMENT;
FRES_ERR_FORB_EX_OBJECT_NOT_EXIST,
FRES_ERR_FORB_EX_TIMEOUT,
FRES_ERR_FORB_EX_APPLICATION,
+ FRES_ERR_NO_RESOURCE_MANAGER,
+ FRES_ERR_ALLOCATOR_ALREADY_REGISTERED,
};
int fres_strerror (int error, char *message, size_t size);