diff --git a/contribs/perlapi/libslurm/perl/Slurm.xs b/contribs/perlapi/libslurm/perl/Slurm.xs index 9a279f190bb6ede0ee1c166c4f01eb8d2d3c636e..a4fb758a94d84de5a11f30dabbb15705cb8a539c 100644 --- a/contribs/perlapi/libslurm/perl/Slurm.xs +++ b/contribs/perlapi/libslurm/perl/Slurm.xs @@ -75,6 +75,12 @@ slurm_DESTROY(slurm_t self) int slurm_get_errno(slurm_t self) C_ARGS: + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ char * slurm_strerror(slurm_t self, int errnum=0) @@ -82,6 +88,11 @@ slurm_strerror(slurm_t self, int errnum=0) char *tmp_str; int n; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (errnum == 0) errnum = slurm_get_errno(); tmp_str = slurm_strerror(errnum); @@ -104,6 +115,11 @@ slurm_preempt_mode_string(slurm_t self, uint16_t preempt_mode); char *tmp_str; int len; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ tmp_str = slurm_preempt_mode_string(preempt_mode); len = strlen(tmp_str) + 1; New(0, RETVAL, len, char); @@ -116,6 +132,12 @@ uint16_t slurm_preempt_mode_num(slurm_t self, char *preempt_mode) C_ARGS: preempt_mode + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ char * slurm_job_reason_string(slurm_t self, uint32_t inx) @@ -123,6 +145,11 @@ slurm_job_reason_string(slurm_t self, uint32_t inx) char *tmp_str; int len; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ tmp_str = slurm_job_reason_string(inx); len = strlen(tmp_str) + 1; New(0, RETVAL, len, char); @@ -137,6 +164,11 @@ slurm_job_state_string(slurm_t self, uint16_t inx) char *tmp_str; int len; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ tmp_str = slurm_job_state_string(inx); len = strlen(tmp_str) + 1; New(0, RETVAL, len, char); @@ -151,6 +183,11 @@ slurm_job_state_string_compact(slurm_t self, uint16_t inx) char *tmp_str; int len; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ tmp_str = slurm_job_state_string_compact(inx); len = strlen(tmp_str) + 1; New(0, RETVAL, len, char); @@ -163,6 +200,12 @@ int slurm_job_state_num(slurm_t self, char *state_name) C_ARGS: state_name + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ char * slurm_reservation_flags_string(slurm_t self, uint16_t flags) @@ -170,6 +213,11 @@ slurm_reservation_flags_string(slurm_t self, uint16_t flags) char *tmp_str; int len; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ tmp_str = slurm_reservation_flags_string(flags); len = strlen(tmp_str) + 1; New(0, RETVAL, len, char); @@ -184,6 +232,11 @@ slurm_node_state_string(slurm_t self, uint16_t inx) char *tmp_str; int len; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ tmp_str = slurm_node_state_string(inx); len = strlen(tmp_str) + 1; New(0, RETVAL, len, char); @@ -198,6 +251,11 @@ slurm_node_state_string_compact(slurm_t self, uint16_t inx) char *tmp_str; int len; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ tmp_str = slurm_node_state_string_compact(inx); len = strlen(tmp_str) + 1; New(0, RETVAL, len, char); @@ -209,6 +267,11 @@ slurm_node_state_string_compact(slurm_t self, uint16_t inx) char * slurm_private_data_string(slurm_t self, uint16_t private_data) CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ New(0, RETVAL, 64, char); slurm_private_data_string(private_data, RETVAL, 64); OUTPUT: @@ -217,6 +280,11 @@ slurm_private_data_string(slurm_t self, uint16_t private_data) char * slurm_accounting_enforce_string(slurm_t self, uint16_t enforce) CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ New(0, RETVAL, 32, char); slurm_accounting_enforce_string(enforce, RETVAL, 32); OUTPUT: @@ -228,6 +296,11 @@ slurm_conn_type_string(slurm_t self, uint16_t conn_type) char *tmp_str; int len; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ tmp_str = slurm_conn_type_string((enum connection_type)conn_type); len = strlen(tmp_str) + 1; New(0, RETVAL, len, char); @@ -242,6 +315,11 @@ slurm_node_use_string(slurm_t self, uint16_t node_use) char *tmp_str; int len; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ tmp_str = slurm_node_use_string((enum node_use_type)node_use); len = strlen(tmp_str) + 1; New(0, RETVAL, len, char); @@ -256,6 +334,11 @@ slurm_bg_block_state_string(slurm_t self, uint16_t state) char *tmp_str; int len; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ tmp_str = slurm_bg_block_state_string(state); len = strlen(tmp_str) + 1; New(0, RETVAL, len, char); @@ -280,6 +363,11 @@ slurm_print_block_info_msg(slurm_t self, FILE *out, HV *block_info_msg, int one_ if(hv_to_block_info_msg(block_info_msg, &bi_msg) < 0) { XSRETURN_UNDEF; } + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: out, &bi_msg, one_liner CLEANUP: @@ -296,6 +384,11 @@ slurm_print_block_info(slurm_t self, FILE *out, HV *block_info, int one_liner=0) if(hv_to_block_info(block_info, &bi) < 0) { XSRETURN_UNDEF; } + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: out, &bi, one_liner @@ -305,6 +398,11 @@ slurm_sprint_block_info(slurm_t self, HV *block_info, int one_liner=0) block_info_t bi; char *tmp_str = NULL; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_block_info(block_info, &bi) < 0) { XSRETURN_UNDEF; } @@ -321,6 +419,11 @@ slurm_load_block_info(slurm_t self, time_t update_time=0, uint16_t show_flags=0) block_info_msg_t *bi_msg = NULL; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_load_block_info(update_time, &bi_msg, show_flags); if(rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -342,6 +445,11 @@ slurm_update_block(slurm_t self, HV *update_req) PREINIT: update_block_msg_t block_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_update_block_msg(update_req, &block_msg) < 0) { XSRETURN_UNDEF; } @@ -362,6 +470,11 @@ slurm_allocate_resources(slurm_t self, HV *job_desc) resource_allocation_response_msg_t* resp_msg = NULL; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (hv_to_job_desc_msg(job_desc, &jd_msg) < 0) { XSRETURN_UNDEF; } @@ -390,6 +503,11 @@ slurm_allocate_resources_blocking(slurm_t self, HV *user_req, time_t timeout=0, job_desc_msg_t jd_msg; resource_allocation_response_msg_t *resp_msg = NULL; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (hv_to_job_desc_msg(user_req, &jd_msg) < 0) { XSRETURN_UNDEF; } @@ -416,6 +534,11 @@ slurm_allocation_lookup(slurm_t self, uint32_t job_id) job_alloc_info_response_msg_t *resp_msg = NULL; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_allocation_lookup(job_id, &resp_msg); if(rc != SLURM_SUCCESS) { slurm_free_job_alloc_info_response_msg(resp_msg); @@ -437,6 +560,11 @@ slurm_allocation_lookup_lite(slurm_t self, uint32_t job_id) resource_allocation_response_msg_t *resp_msg = NULL; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_allocation_lookup_lite(job_id, &resp_msg); if(rc != SLURM_SUCCESS) { slurm_free_resource_allocation_response_msg(resp_msg); @@ -457,6 +585,11 @@ slurm_read_hostfile(slurm_t self, char *filename, int n) PREINIT: char *hostlist; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ hostlist = slurm_read_hostfile(filename, n); if(hostlist == NULL) { XSRETURN_UNDEF; @@ -471,12 +604,24 @@ slurm_read_hostfile(slurm_t self, char *filename, int n) allocation_msg_thread_t * slurm_allocation_msg_thr_create(slurm_t self, OUT uint16_t port, HV *callbacks) INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ set_sacb(callbacks); C_ARGS: &port, &sacb void slurm_allocation_msg_thr_destroy(slurm_t self, allocation_msg_thread_t * msg_thr) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ + C_ARGS: msg_thr @@ -487,6 +632,11 @@ slurm_submit_batch_job(slurm_t self, HV *job_desc) submit_response_msg_t *resp_msg = NULL; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_job_desc_msg(job_desc, &jd_msg) < 0) { XSRETURN_UNDEF; } @@ -511,6 +661,11 @@ slurm_job_will_run(slurm_t self, HV *job_desc) PREINIT: job_desc_msg_t jd_msg; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (hv_to_job_desc_msg(job_desc, &jd_msg) < 0) { XSRETURN_UNDEF; } @@ -525,6 +680,11 @@ slurm_sbcast_lookup(slurm_t self, uint32_t job_id) job_sbcast_cred_msg_t *info; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_sbcast_lookup(job_id, &info); if (rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -546,21 +706,45 @@ slurm_sbcast_lookup(slurm_t self, uint32_t job_id) ###################################################################### int slurm_kill_job(slurm_t self, uint32_t job_id, uint16_t signal, uint16_t batch_flag=0) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, signal, batch_flag int slurm_kill_job_step(slurm_t self, uint32_t job_id, uint32_t step_id, uint16_t signal) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, step_id, signal int slurm_signal_job(slurm_t self, uint32_t job_id, uint16_t signal) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, signal int slurm_signal_job_step(slurm_t self, uint32_t job_id, uint32_t step_id, uint16_t signal) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, step_id, signal @@ -570,16 +754,34 @@ slurm_signal_job_step(slurm_t self, uint32_t job_id, uint32_t step_id, uint16_t ###################################################################### int slurm_complete_job(slurm_t self, uint32_t job_id, uint32_t job_rc=0) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, job_rc int slurm_terminate_job(slurm_t self, uint32_t job_id) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id int slurm_terminate_job_step(slurm_t self, uint32_t job_id, uint32_t step_id) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, step_id @@ -595,6 +797,11 @@ slurm_step_ctx_create(slurm_t self, HV *step_params) PREINIT: slurm_step_ctx_params_t sp; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (hv_to_slurm_step_ctx_params(step_params, &sp) < 0) { XSRETURN_UNDEF; } @@ -613,6 +820,11 @@ slurm_step_ctx_create_no_alloc(slurm_t self, HV *step_params, uint32_t step_id) if (hv_to_slurm_step_ctx_params(step_params, &sp) < 0) { XSRETURN_UNDEF; } + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: &sp, step_id POSTCALL: @@ -843,6 +1055,11 @@ slurm_api_version(slurm_t self, OUTLIST int major, OUTLIST int minor, OUTLIST in PREINIT: long version; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ version = slurm_api_version(); major = SLURM_VERSION_MAJOR(version); minor = SLURM_VERSION_MINOR(version); @@ -854,6 +1071,11 @@ slurm_load_ctl_conf(slurm_t self, time_t update_time=0) slurm_ctl_conf_t *ctl_conf; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_load_ctl_conf(update_time, &ctl_conf); if(rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -880,6 +1102,11 @@ slurm_print_ctl_conf(slurm_t self, FILE *out, HV *conf) if (hv_to_slurm_ctl_conf(conf, &cc) < 0) { XSRETURN_UNDEF; } + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: out, &cc @@ -892,6 +1119,11 @@ slurm_ctl_conf_2_key_pairs(slurm_t self, HV *conf) PREINIT: slurm_ctl_conf_t cc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (hv_to_slurm_ctl_conf(conf, &cc) < 0) { XSRETURN_UNDEF; } @@ -912,6 +1144,11 @@ slurm_load_slurmd_status(slurm_t self) slurmd_status_t *status; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_load_slurmd_status(&status); if (rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -938,6 +1175,11 @@ slurm_print_slurmd_status(slurm_t self, FILE *out, HV *slurmd_status) if (hv_to_slurmd_status(slurmd_status, &st) < 0) { XSRETURN_UNDEF; } + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: out, &st @@ -947,6 +1189,11 @@ slurm_print_key_pairs(slurm_t self, FILE *out, List key_pairs, char *title) if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: out, key_pairs, title @@ -955,6 +1202,11 @@ slurm_update_step(slurm_t self, HV *step_msg) PREINIT: step_update_request_msg_t su_msg; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (hv_to_step_update_request_msg(step_msg, &su_msg) < 0) { RETVAL = SLURM_ERROR; } else { @@ -970,6 +1222,11 @@ slurm_update_step(slurm_t self, HV *step_msg) int slurm_job_cpus_allocated_on_node_id(slurm_t self, SV *job_res, int node_id) CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(job_res) { RETVAL = slurm_job_cpus_allocated_on_node_id( (job_resources_t *)SV2ptr(job_res), node_id); @@ -982,6 +1239,11 @@ slurm_job_cpus_allocated_on_node_id(slurm_t self, SV *job_res, int node_id) int slurm_job_cpus_allocated_on_node(slurm_t self, SV *job_res, char *node_name) CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(job_res) { RETVAL = slurm_job_cpus_allocated_on_node( (job_resources_t *)SV2ptr(job_res), node_name); @@ -1013,6 +1275,11 @@ slurm_get_end_time(slurm_t self, uint32_t job_id) time_t tmp_time; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_get_end_time(job_id, &tmp_time); if (rc == SLURM_SUCCESS) { RETVAL = tmp_time; @@ -1024,11 +1291,23 @@ slurm_get_end_time(slurm_t self, uint32_t job_id) long slurm_get_rem_time(slurm_t self, uint32_t job_id) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id int slurm_job_node_ready(slurm_t self, uint32_t job_id) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id @@ -1041,6 +1320,11 @@ slurm_load_job(slurm_t self, uint32_t job_id, uint16_t show_flags=0) job_info_msg_t *ji_msg; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_load_job(&ji_msg, job_id, show_flags); if (rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -1068,6 +1352,11 @@ slurm_load_jobs(slurm_t self, time_t update_time=0, uint16_t show_flags=0) job_info_msg_t *ji_msg; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_load_jobs(update_time, &ji_msg, show_flags); if (rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -1088,6 +1377,12 @@ slurm_load_jobs(slurm_t self, time_t update_time=0, uint16_t show_flags=0) int slurm_notify_job(slurm_t self, uint32_t job_id, char *message) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, message @@ -1100,6 +1395,11 @@ slurm_pid2jobid(slurm_t self, pid_t job_pid) uint32_t tmp_pid; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_pid2jobid(job_pid, &tmp_pid); if (rc == SLURM_SUCCESS) { RETVAL = tmp_pid; @@ -1114,6 +1414,11 @@ slurm_print_job_info(slurm_t self, FILE* out, HV *job_info, int one_liner=0) PREINIT: job_info_t ji; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1132,6 +1437,11 @@ slurm_print_job_info_msg(slurm_t self, FILE *out, HV *job_info_msg, int one_line PREINIT: job_info_msg_t ji_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1149,6 +1459,11 @@ slurm_sprint_job_info(slurm_t self, HV *job_info, int one_liner=0) job_info_t ji; char *tmp_str = NULL; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_job_info(job_info, &ji) < 0) { XSRETURN_UNDEF; } @@ -1167,6 +1482,11 @@ slurm_update_job(slurm_t self, HV *job_info) PREINIT: job_desc_msg_t update_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_job_desc_msg(job_info, &update_msg) < 0) { XSRETURN_UNDEF; } @@ -1187,6 +1507,11 @@ slurm_get_job_steps(slurm_t self, time_t update_time=0, uint32_t job_id=NO_VAL, int rc; job_step_info_response_msg_t *resp_msg; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_get_job_steps(update_time, job_id, step_id, &resp_msg, show_flags); if(rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -1207,6 +1532,11 @@ slurm_print_job_step_info_msg(slurm_t self, FILE *out, HV *step_info_msg, int on PREINIT: job_step_info_response_msg_t si_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1223,6 +1553,11 @@ slurm_print_job_step_info(slurm_t self, FILE *out, HV *step_info, int one_liner= PREINIT: job_step_info_t si; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1240,6 +1575,11 @@ slurm_sprint_job_step_info(slurm_t self, HV *step_info, int one_liner=0) job_step_info_t si; char *tmp_str = NULL; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_job_step_info(step_info, &si) < 0) { XSRETURN_UNDEF; } @@ -1257,6 +1597,11 @@ slurm_job_step_layout_get(slurm_t self, uint32_t job_id, uint32_t step_id) int rc; slurm_step_layout_t *layout; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ layout = slurm_job_step_layout_get(job_id, step_id); if(layout == NULL) { XSRETURN_UNDEF; @@ -1278,6 +1623,11 @@ slurm_job_step_stat(slurm_t self, uint32_t job_id, uint32_t step_id, char *nodel int rc; job_step_stat_response_msg_t *resp_msg; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_job_step_stat(job_id, step_id, nodelist, &resp_msg); if (rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -1299,6 +1649,11 @@ slurm_job_step_get_pids(slurm_t self, uint32_t job_id, uint32_t step_id, char *n int rc; job_step_pids_response_msg_t *resp_msg; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_job_step_get_pids(job_id, step_id, nodelist, &resp_msg); if (rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -1334,6 +1689,11 @@ slurm_load_node(slurm_t self, time_t update_time=0, uint16_t show_flags=0) node_info_msg_t *ni_msg = NULL; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_load_node(update_time, &ni_msg, show_flags); if(rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -1357,6 +1717,11 @@ slurm_print_node_info_msg(slurm_t self, FILE *out, HV *node_info_msg, int one_li PREINIT: node_info_msg_t ni_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1373,6 +1738,11 @@ slurm_print_node_table(slurm_t self, FILE *out, HV *node_info, int node_scaling= PREINIT: node_info_t ni; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1388,6 +1758,11 @@ slurm_sprint_node_table(slurm_t self, HV *node_info, int node_scaling=1, int one node_info_t ni; char *tmp_str = NULL; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_node_info(node_info, &ni) < 0) { XSRETURN_UNDEF; } @@ -1403,6 +1778,11 @@ slurm_update_node(slurm_t self, HV *update_req) PREINIT: update_node_msg_t node_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_update_node_msg(update_req, &node_msg) < 0) { XSRETURN_UNDEF; } @@ -1420,6 +1800,11 @@ slurm_load_topo(slurm_t self) topo_info_response_msg_t *topo_info_msg = NULL; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_load_topo( &topo_info_msg); if(rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -1440,6 +1825,11 @@ slurm_print_topo_info_msg(slurm_t self, FILE *out, HV *topo_info_msg, int one_li PREINIT: topo_info_response_msg_t ti_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1456,6 +1846,11 @@ slurm_print_topo_record(slurm_t self, FILE *out, HV *topo_info, int one_liner=0) PREINIT: topo_info_t ti; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1478,6 +1873,11 @@ slurm_get_select_jobinfo(slurm_t self, dynamic_plugin_data_t *jobinfo, uint32_t select_jobinfo_t *tmp_ptr; int i; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ switch(data_type) { case SELECT_JOBDATA_GEOMETRY: /* data-> uint16_t geometry[SYSTEM_DIMENSIONS] */ RETVAL = slurm_get_select_jobinfo(jobinfo, data_type, tmp_array); @@ -1545,6 +1945,11 @@ slurm_get_select_nodeinfo(slurm_t self, dynamic_plugin_data_t *nodeinfo, uint32_ bitstr_t *tmp_bitmap; select_nodeinfo_t *tmp_ptr; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ switch(data_type) { case SELECT_NODEDATA_BITMAP_SIZE: /* data-> uint16_t */ case SELECT_NODEDATA_SUBGRP_SIZE: /* data-> uint16_t */ @@ -1594,6 +1999,11 @@ slurm_load_partitions(slurm_t self, time_t update_time=0, uint16_t show_flags=0) partition_info_msg_t *part_info_msg; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_load_partitions(update_time, &part_info_msg, show_flags); if(rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -1614,6 +2024,11 @@ slurm_print_partition_info_msg(slurm_t self, FILE *out, HV *part_info_msg, int o PREINIT: partition_info_msg_t pi_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1630,6 +2045,11 @@ slurm_print_partition_info(slurm_t self, FILE *out, HV *part_info, int one_liner PREINIT: partition_info_t pi; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1647,6 +2067,11 @@ slurm_sprint_partition_info(slurm_t self, HV *part_info, int one_liner=0) partition_info_t pi; char *tmp_str = NULL; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_partition_info(part_info, &pi) < 0) { XSRETURN_UNDEF; } @@ -1663,6 +2088,11 @@ slurm_create_partition(slurm_t self, HV *part_info) PREINIT: update_part_msg_t update_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_update_part_msg(part_info, &update_msg) < 0) { XSRETURN_UNDEF; } @@ -1674,6 +2104,11 @@ slurm_update_partition(slurm_t self, HV *part_info) PREINIT: update_part_msg_t update_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_update_part_msg(part_info, &update_msg) < 0) { XSRETURN_UNDEF; } @@ -1685,6 +2120,11 @@ slurm_delete_partition(slurm_t self, HV *delete_part_msg) PREINIT: delete_part_msg_t dp_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_delete_part_msg(delete_part_msg, &dp_msg) < 0) { XSRETURN_UNDEF; } @@ -1702,6 +2142,11 @@ slurm_load_reservations(slurm_t self, time_t update_time=0) reserve_info_msg_t *resv_info_msg = NULL; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_load_reservations(update_time, &resv_info_msg); if(rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -1722,6 +2167,11 @@ slurm_create_reservation(slurm_t self, HV *res_info) PREINIT: resv_desc_msg_t resv_msg; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_update_reservation_msg(res_info, &resv_msg) < 0) { XSRETURN_UNDEF; } @@ -1737,6 +2187,11 @@ slurm_update_reservation(slurm_t self, HV *res_info) PREINIT: resv_desc_msg_t resv_msg; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_update_reservation_msg(res_info, &resv_msg) < 0) { XSRETURN_UNDEF; } @@ -1748,6 +2203,11 @@ slurm_delete_reservation(slurm_t self, HV *res_info) PREINIT: reservation_name_msg_t resv_name; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_delete_reservation_msg(res_info, &resv_name) < 0) { XSRETURN_UNDEF; } @@ -1760,6 +2220,11 @@ slurm_print_reservation_info_msg(slurm_t self, FILE *out, HV *resv_info_msg, int reserve_info_msg_t ri_msg; int i; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1778,6 +2243,11 @@ slurm_print_reservation_info(slurm_t self, FILE *out, HV *resv_info, int one_lin PREINIT: reserve_info_t ri; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if (out == NULL) { Perl_croak (aTHX_ "Invalid output stream specified: FILE not found"); } @@ -1795,6 +2265,11 @@ slurm_sprint_reservation_info(slurm_t self, HV *resv_info, int one_liner=0) reserve_info_t ri; char *tmp_str = NULL; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_reserve_info(resv_info, &ri) < 0) { XSRETURN_UNDEF; } @@ -1813,29 +2288,65 @@ slurm_sprint_reservation_info(slurm_t self, HV *resv_info, int one_liner=0) int slurm_ping(slurm_t self, uint16_t primary=1) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: primary int slurm_reconfigure(slurm_t self) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: int slurm_shutdown(slurm_t self, uint16_t options=0) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: options int slurm_takeover(slurm_t self) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: int slurm_set_debug_level(slurm_t self, uint32_t debug_level) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: debug_level int slurm_set_schedlog_level(slurm_t self, uint32_t schedlog_level) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: schedlog_level @@ -1846,16 +2357,34 @@ slurm_set_schedlog_level(slurm_t self, uint32_t schedlog_level) int slurm_suspend(slurm_t self, uint32_t job_id) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id int slurm_resume(slurm_t self, uint32_t job_id) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id int slurm_requeue(slurm_t self, uint32_t job_id) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id @@ -1866,41 +2395,89 @@ slurm_requeue(slurm_t self, uint32_t job_id) int slurm_checkpoint_able(slurm_t self, uint32_t job_id, uint32_t step_id, OUT time_t start_time) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, step_id, &start_time int slurm_checkpoint_disable(slurm_t self, uint32_t job_id, uint32_t step_id) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, step_id int slurm_checkpoint_enable(slurm_t self, uint32_t job_id, uint32_t step_id) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, step_id int slurm_checkpoint_create(slurm_t self, uint32_t job_id, uint32_t step_id, uint16_t max_wait, char *image_dir) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, step_id, max_wait, image_dir int slurm_checkpoint_requeue(slurm_t self, uint32_t job_id, uint16_t max_wait, char *image_dir) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, max_wait, image_dir int slurm_checkpoint_vacate(slurm_t self, uint32_t job_id, uint32_t step_id, uint16_t max_wait, char *image_dir) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, step_id, max_wait, image_dir int slurm_checkpoint_restart(slurm_t self, uint32_t job_id, uint32_t step_id, uint16_t stick, char *image_dir) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, step_id, stick, image_dir int slurm_checkpoint_complete(slurm_t self, uint32_t job_id, uint32_t step_id, time_t begin_time, uint32_t error_code, char *error_msg) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, step_id, begin_time, error_code, error_msg @@ -1909,6 +2486,11 @@ slurm_checkpoint_error(slurm_t self, uint32_t job_id, uint32_t step_id, OUT uint PREINIT: char* err_msg = NULL; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ error_code = SLURM_SUCCESS; RETVAL = slurm_checkpoint_error(job_id, step_id, (uint32_t *)&error_code, &err_msg); Newz(0, error_msg, strlen(err_msg), char); @@ -1919,6 +2501,12 @@ slurm_checkpoint_error(slurm_t self, uint32_t job_id, uint32_t step_id, OUT uint int slurm_checkpoint_tasks(slurm_t self, uint32_t job_id, uint16_t step_id, time_t begin_time, char *image_dir, uint16_t max_wait, char *nodelist) + INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ C_ARGS: job_id, step_id, begin_time, image_dir, max_wait, nodelist @@ -1931,6 +2519,11 @@ int slurm_set_trigger(slurm_t self, HV *trigger_info) PREINIT: trigger_info_t ti; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_trigger_info(trigger_info, &ti) < 0) { XSRETURN_UNDEF; } @@ -1941,6 +2534,11 @@ int slurm_clear_trigger(slurm_t self, HV *trigger_info) PREINIT: trigger_info_t ti; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_trigger_info(trigger_info, &ti) < 0) { XSRETURN_UNDEF; } @@ -1953,6 +2551,11 @@ slurm_get_triggers(slurm_t self) trigger_info_msg_t *ti_msg; int rc; CODE: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ rc = slurm_get_triggers(&ti_msg); if(rc == SLURM_SUCCESS) { RETVAL = newHV(); @@ -1973,6 +2576,11 @@ slurm_pull_trigger(slurm_t self, HV *trigger_info) PREINIT: trigger_info_t ti; INIT: + if (self); /* this is needed to avoid a warning about + unused variables. But if we take slurm_t self + out of the mix Slurm-> doesn't work, + only Slurm:: + */ if(hv_to_trigger_info(trigger_info, &ti) < 0) { XSRETURN_UNDEF; }