本文整理汇总了C++中slurm_free_return_code_msg函数的典型用法代码示例。如果您正苦于以下问题:C++ slurm_free_return_code_msg函数的具体用法?C++ slurm_free_return_code_msg怎么用?C++ slurm_free_return_code_msg使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了slurm_free_return_code_msg函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: slurm_job_node_ready
/*
* slurm_job_node_ready - report if nodes are ready for job to execute now
* IN job_id - slurm job id
* RET: READY_* values as defined in slurm.h
*/
extern int slurm_job_node_ready(uint32_t job_id)
{
slurm_msg_t req, resp;
job_id_msg_t msg;
int rc;
slurm_msg_t_init(&req);
slurm_msg_t_init(&resp);
req.msg_type = REQUEST_JOB_READY;
req.data = &msg;
msg.job_id = job_id;
if (slurm_send_recv_controller_msg(&req, &resp) < 0)
return READY_JOB_ERROR;
if (resp.msg_type == RESPONSE_JOB_READY) {
rc = ((return_code_msg_t *) resp.data)->return_code;
slurm_free_return_code_msg(resp.data);
} else if (resp.msg_type == RESPONSE_SLURM_RC) {
int job_rc = ((return_code_msg_t *) resp.data) ->
return_code;
if ((job_rc == ESLURM_INVALID_PARTITION_NAME) ||
(job_rc == ESLURM_INVALID_JOB_ID))
rc = READY_JOB_FATAL;
else /* EAGAIN */
rc = READY_JOB_ERROR;
slurm_free_return_code_msg(resp.data);
} else
rc = READY_JOB_ERROR;
return rc;
}
示例2: slurm_get_triggers
/*
* slurm_get_triggers - Get all event trigger information
* Use slurm_free_trigger() to free the memory allocated by this function
* RET 0 or a slurm error code
*/
extern int slurm_get_triggers (trigger_info_msg_t ** trigger_get)
{
int rc;
slurm_msg_t resp_msg;
slurm_msg_t req_msg;
trigger_info_msg_t req;
slurm_msg_t_init(&req_msg);
slurm_msg_t_init(&resp_msg);
req.record_count = 0;
req.trigger_array = NULL;
req_msg.msg_type = REQUEST_TRIGGER_GET;
req_msg.data = &req;
if (slurm_send_recv_controller_msg(&req_msg, &resp_msg) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_TRIGGER_GET:
*trigger_get = (trigger_info_msg_t *)resp_msg.data;
break;
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc)
slurm_seterrno_ret(rc);
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_PROTOCOL_SUCCESS ;
}
示例3: slurm_set_schedlog_level
/*
* slurm_set_schedlog_level - issue RPC to set slurm scheduler log level
* IN schedlog_level - requested scheduler log level
* RET 0 on success, otherwise return -1 and set errno to indicate the error
*/
int
slurm_set_schedlog_level (uint32_t schedlog_level)
{
int rc;
slurm_msg_t req_msg;
slurm_msg_t resp_msg;
set_debug_level_msg_t req;
slurm_msg_t_init(&req_msg);
slurm_msg_t_init(&resp_msg);
req.debug_level = schedlog_level;
req_msg.msg_type = REQUEST_SET_SCHEDLOG_LEVEL;
req_msg.data = &req;
if (slurm_send_recv_controller_msg(&req_msg, &resp_msg) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc)
slurm_seterrno_ret(rc);
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_PROTOCOL_SUCCESS;
}
示例4: slurm_load_ctl_conf
/*
* slurm_load_ctl_conf - issue RPC to get slurm control configuration
* information if changed since update_time
* IN update_time - time of current configuration data
* IN slurm_ctl_conf_ptr - place to store slurm control configuration
* pointer
* RET 0 on success, otherwise return -1 and set errno to indicate the error
* NOTE: free the response using slurm_free_ctl_conf
*/
int
slurm_load_ctl_conf (time_t update_time, slurm_ctl_conf_t **confp)
{
int rc;
slurm_msg_t req_msg;
slurm_msg_t resp_msg;
last_update_msg_t req;
slurm_msg_t_init(&req_msg);
slurm_msg_t_init(&resp_msg);
req.last_update = update_time;
req_msg.msg_type = REQUEST_BUILD_INFO;
req_msg.data = &req;
if (slurm_send_recv_controller_msg(&req_msg, &resp_msg) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_BUILD_INFO:
*confp = (slurm_ctl_conf_info_msg_t *) resp_msg.data;
break;
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc)
slurm_seterrno_ret(rc);
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_PROTOCOL_SUCCESS;
}
示例5: slurm_load_burst_buffer_info
/*
* slurm_load_burst_buffer_info - issue RPC to get slurm all burst buffer plugin
* information
* IN burst_buffer_info_msg_pptr - place to store a burst buffer configuration
* pointer
* RET 0 or a slurm error code
* NOTE: free the response using slurm_free_burst_buffer_info_msg
*/
extern int slurm_load_burst_buffer_info(burst_buffer_info_msg_t **
burst_buffer_info_msg_pptr)
{
int rc;
slurm_msg_t req_msg;
slurm_msg_t resp_msg;
slurm_msg_t_init(&req_msg);
slurm_msg_t_init(&resp_msg);
req_msg.msg_type = REQUEST_BURST_BUFFER_INFO;
req_msg.data = NULL;
if (slurm_send_recv_controller_msg(&req_msg, &resp_msg) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_BURST_BUFFER_INFO:
*burst_buffer_info_msg_pptr = (burst_buffer_info_msg_t *)
resp_msg.data;
break;
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc)
slurm_seterrno_ret(rc);
*burst_buffer_info_msg_pptr = NULL;
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_PROTOCOL_SUCCESS;
}
示例6: slurm_set_debugflags
/*
* slurm_set_debugflags - issue RPC to set slurm controller debug flags
* IN debug_flags_plus - debug flags to be added
* IN debug_flags_minus - debug flags to be removed
* IN debug_flags_set - new debug flags value
* RET 0 on success, otherwise return -1 and set errno to indicate the error
*/
extern int
slurm_set_debugflags (uint32_t debug_flags_plus, uint32_t debug_flags_minus)
{
int rc;
slurm_msg_t req_msg;
slurm_msg_t resp_msg;
set_debug_flags_msg_t req;
slurm_msg_t_init(&req_msg);
slurm_msg_t_init(&resp_msg);
req.debug_flags_minus = debug_flags_minus;
req.debug_flags_plus = debug_flags_plus;
req_msg.msg_type = REQUEST_SET_DEBUG_FLAGS;
req_msg.data = &req;
if (slurm_send_recv_controller_msg(&req_msg, &resp_msg) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc)
slurm_seterrno_ret(rc);
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_PROTOCOL_SUCCESS;
}
示例7: slurm_job_step_layout_get
extern slurm_step_layout_t *
slurm_job_step_layout_get(uint32_t job_id, uint32_t step_id)
{
job_step_id_msg_t data;
slurm_msg_t req, resp;
int errnum;
slurm_msg_t_init(&req);
slurm_msg_t_init(&resp);
req.msg_type = REQUEST_STEP_LAYOUT;
req.data = &data;
data.job_id = job_id;
data.step_id = step_id;
if (slurm_send_recv_controller_msg(&req, &resp) < 0) {
return NULL;
}
switch (resp.msg_type) {
case RESPONSE_STEP_LAYOUT:
return (slurm_step_layout_t *)resp.data;
case RESPONSE_SLURM_RC:
errnum = ((return_code_msg_t *)resp.data)->return_code;
slurm_free_return_code_msg(resp.data);
errno = errnum;
return NULL;
default:
errno = SLURM_UNEXPECTED_MSG_ERROR;
return NULL;
}
}
示例8: log_ctld
/*
* Log string at slurmctld daemon
* IN level - message level, from src/common/log.h
* IN string - the string to write
* RET 0 on success, -1 on failure, see errno for details
*/
extern int log_ctld(uint16_t level, char *string)
{
int rc;
slurm_msg_t req_msg;
slurm_msg_t resp_msg;
slurm_event_log_msg_t req;
slurm_msg_t_init(&req_msg);
slurm_msg_t_init(&resp_msg);
req.level = level;
req.string = string;
req_msg.msg_type = REQUEST_EVENT_LOG;
req_msg.data = &req;
if (slurm_send_recv_controller_msg(&req_msg, &resp_msg,
working_cluster_rec) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc) {
slurm_seterrno_ret(rc);
return SLURM_ERROR;
}
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
return SLURM_ERROR;
}
return SLURM_SUCCESS;
}
示例9: _load_cluster_nodes
static int _load_cluster_nodes(slurm_msg_t *req_msg,
node_info_msg_t **node_info_msg_pptr,
slurmdb_cluster_rec_t *cluster,
uint16_t show_flags)
{
slurm_msg_t resp_msg;
int rc;
slurm_msg_t_init(&resp_msg);
if (slurm_send_recv_controller_msg(req_msg, &resp_msg, cluster) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_NODE_INFO:
*node_info_msg_pptr = (node_info_msg_t *) resp_msg.data;
if (show_flags & SHOW_MIXED)
_set_node_mixed(*node_info_msg_pptr);
break;
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc)
slurm_seterrno_ret(rc);
*node_info_msg_pptr = NULL;
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_SUCCESS;
}
示例10: slurm_load_topo
/*
* slurm_load_topo - issue RPC to get slurm all switch topology configuration
* information
* IN node_info_msg_pptr - place to store a node configuration pointer
* RET 0 or a slurm error code
* NOTE: free the response using slurm_free_topo_info_msg
*/
extern int slurm_load_topo(topo_info_response_msg_t **resp)
{
int rc;
slurm_msg_t req_msg;
slurm_msg_t resp_msg;
slurm_msg_t_init(&req_msg);
slurm_msg_t_init(&resp_msg);
req_msg.msg_type = REQUEST_TOPO_INFO;
req_msg.data = NULL;
if (slurm_send_recv_controller_msg(&req_msg, &resp_msg) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_TOPO_INFO:
*resp = (topo_info_response_msg_t *) resp_msg.data;
break;
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc)
slurm_seterrno_ret(rc);
*resp = NULL;
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_PROTOCOL_SUCCESS;
}
示例11: slurm_load_assoc_mgr_info
/* slurm_load_assoc_mgr_info()
*
* Load requested controller assoc_mgr state.
*
*/
extern int
slurm_load_assoc_mgr_info(assoc_mgr_info_request_msg_t *req,
assoc_mgr_info_msg_t **resp)
{
int cc;
slurm_msg_t msg_request;
slurm_msg_t msg_reply;
slurm_msg_t_init(&msg_request);
slurm_msg_t_init(&msg_reply);
msg_request.msg_type = REQUEST_ASSOC_MGR_INFO;
msg_request.data = req;
cc = slurm_send_recv_controller_msg(&msg_request, &msg_reply);
if (cc < 0)
return SLURM_ERROR;
switch (msg_reply.msg_type) {
case RESPONSE_ASSOC_MGR_INFO:
*resp = msg_reply.data;
break;
case RESPONSE_SLURM_RC:
cc = ((return_code_msg_t *)msg_reply.data)->return_code;
slurm_free_return_code_msg(msg_reply.data);
if (cc) /* slurm_seterrno_ret() is a macro ... sigh */
slurm_seterrno(cc);
return -1;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_PROTOCOL_SUCCESS;
}
示例12: _get_info
static int _get_info(shares_request_msg_t *shares_req,
shares_response_msg_t **shares_resp)
{
int rc;
slurm_msg_t req_msg;
slurm_msg_t resp_msg;
slurm_msg_t_init(&req_msg);
slurm_msg_t_init(&resp_msg);
req_msg.msg_type = REQUEST_SHARE_INFO;
req_msg.data = shares_req;
if (slurm_send_recv_controller_msg(&req_msg, &resp_msg,
working_cluster_rec) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_SHARE_INFO:
*shares_resp = (shares_response_msg_t *) resp_msg.data;
break;
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc)
slurm_seterrno_ret(rc);
*shares_resp = NULL;
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_PROTOCOL_SUCCESS;
}
示例13: _get_info
static int _get_info(priority_factors_request_msg_t *factors_req,
priority_factors_response_msg_t **factors_resp)
{
int rc;
slurm_msg_t req_msg;
slurm_msg_t resp_msg;
slurm_msg_t_init(&req_msg);
slurm_msg_t_init(&resp_msg);
req_msg.msg_type = REQUEST_PRIORITY_FACTORS;
req_msg.data = factors_req;
if (slurm_send_recv_controller_msg(&req_msg, &resp_msg) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_PRIORITY_FACTORS:
*factors_resp =
(priority_factors_response_msg_t *) resp_msg.data;
break;
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc)
slurm_seterrno_ret(rc);
*factors_resp = NULL;
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_PROTOCOL_SUCCESS;
}
示例14: _load_cluster_parts
static int _load_cluster_parts(slurm_msg_t *req_msg,
partition_info_msg_t **resp,
slurmdb_cluster_rec_t *cluster)
{
slurm_msg_t resp_msg;
int rc;
slurm_msg_t_init(&resp_msg);
if (slurm_send_recv_controller_msg(req_msg, &resp_msg, cluster) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_PARTITION_INFO:
*resp = (partition_info_msg_t *) resp_msg.data;
break;
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc)
slurm_seterrno_ret(rc);
*resp = NULL;
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_PROTOCOL_SUCCESS;
}
示例15: slurm_load_federation
/*
* slurm_load_federation - issue RPC to get federation status from controller
* IN/OUT fed_pptr - place to store returned federation information.
* slurmdb_federation_rec_t treated as a void pointer to since
* slurm.h doesn't have ties to slurmdb.h.
* RET 0 or -1 on error
*/
extern int slurm_load_federation(void **fed_pptr)
{
int rc;
slurm_msg_t resp_msg;
slurm_msg_t req_msg;
slurm_msg_t_init(&req_msg);
slurm_msg_t_init(&resp_msg);
req_msg.msg_type = REQUEST_FED_INFO;
req_msg.data = NULL;
if (slurm_send_recv_controller_msg(&req_msg, &resp_msg,
working_cluster_rec) < 0)
return SLURM_ERROR;
switch (resp_msg.msg_type) {
case RESPONSE_FED_INFO:
*fed_pptr = resp_msg.data;
break;
case RESPONSE_SLURM_RC:
rc = ((return_code_msg_t *) resp_msg.data)->return_code;
slurm_free_return_code_msg(resp_msg.data);
if (rc)
slurm_seterrno_ret(rc);
break;
default:
slurm_seterrno_ret(SLURM_UNEXPECTED_MSG_ERROR);
break;
}
return SLURM_PROTOCOL_SUCCESS;
}