save works
This commit is contained in:
parent
f4b1ba4cd7
commit
acfbec875b
51 changed files with 622 additions and 1175 deletions
|
|
@ -28,7 +28,8 @@ int handle_clusterconf(cluster_t* c, endpoint_t* ep, xce_request_t* request)
|
|||
}
|
||||
};
|
||||
/* clang-format on */
|
||||
int i;
|
||||
int i;
|
||||
xlist_t clist, qlist, rlist, wlist;
|
||||
|
||||
init_reply_by_req(&reply, request);
|
||||
|
||||
|
|
@ -36,14 +37,26 @@ int handle_clusterconf(cluster_t* c, endpoint_t* ep, xce_request_t* request)
|
|||
reply.data_which = RequestReply_data_clusterconf;
|
||||
reply.data.clusterconf = &clusterconf;
|
||||
|
||||
collect_confvars(c, NULL, &(clusterconf.cfglist.count),
|
||||
&(clusterconf.cfglist.configs));
|
||||
collect_queues(c, NULL, &(clusterconf.qlist.count),
|
||||
&(clusterconf.qlist.queues));
|
||||
collect_resources(c, NULL, &(clusterconf.reslist.count),
|
||||
&(clusterconf.reslist.res));
|
||||
collect_workers(c, (collect_check_fn_t)check_worker_,
|
||||
&(clusterconf.wlist.count), &(clusterconf.wlist.workers));
|
||||
xlist_init(&clist, 256);
|
||||
xlist_init(&qlist, 64);
|
||||
xlist_init(&rlist, 1024);
|
||||
xlist_init(&wlist, 10240);
|
||||
|
||||
collect_confvars(c, NULL, &clist);
|
||||
clusterconf.cfglist.count = clist.count;
|
||||
clusterconf.cfglist.configs = (xce_config_t**)clist.data;
|
||||
|
||||
collect_queues(c, NULL, &qlist);
|
||||
clusterconf.qlist.count = qlist.count;
|
||||
clusterconf.qlist.queues = (xce_queue_t**)qlist.data;
|
||||
|
||||
collect_resources(c, NULL, &rlist);
|
||||
clusterconf.reslist.count = rlist.count;
|
||||
clusterconf.reslist.res = (xce_resource_t**)rlist.data;
|
||||
|
||||
collect_workers(c, (collect_check_fn_t)check_worker_, &wlist);
|
||||
clusterconf.wlist.count = wlist.count;
|
||||
clusterconf.wlist.workers = (xce_worker_t**)wlist.data;
|
||||
|
||||
xce_reply(ep, c->myhost, &reply);
|
||||
|
||||
|
|
@ -53,15 +66,13 @@ int handle_clusterconf(cluster_t* c, endpoint_t* ep, xce_request_t* request)
|
|||
free_resval_with_idx_list(&(w->resvals_to_sched), w->nresvals_to_sched);
|
||||
}
|
||||
|
||||
deref_objs(clusterconf.cfglist.count, (void**)clusterconf.cfglist.configs);
|
||||
deref_objs(clusterconf.qlist.count, (void**)clusterconf.qlist.queues);
|
||||
deref_objs(clusterconf.reslist.count, (void**)clusterconf.reslist.res);
|
||||
deref_objs(clusterconf.wlist.count, (void**)clusterconf.wlist.workers);
|
||||
unlock_collect_queues(&qlist);
|
||||
unlock_collect_workers(&wlist);
|
||||
|
||||
FREEUP(clusterconf.cfglist.configs);
|
||||
FREEUP(clusterconf.qlist.queues);
|
||||
FREEUP(clusterconf.reslist.res);
|
||||
FREEUP(clusterconf.wlist.workers);
|
||||
xlist_fini(&clist);
|
||||
xlist_fini(&qlist);
|
||||
xlist_fini(&rlist);
|
||||
xlist_fini(&wlist);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue