From 35f70ec1e99d5ea2f6725e99b67191933b2cdaeb Mon Sep 17 00:00:00 2001 From: Morris Jette <jette@schedmd.com> Date: Wed, 3 Oct 2012 08:23:49 -0700 Subject: [PATCH] Add slurm_init_trigger_msg API for simpler use --- doc/man/man3/Makefile.am | 1 + doc/man/man3/Makefile.in | 1 + doc/man/man3/slurm_clear_trigger.3 | 13 +++++++++++-- doc/man/man3/slurm_init_trigger_msg.3 | 1 + slurm/slurm.h.in | 6 ++++++ src/api/init_msg.c | 10 ++++++++++ src/strigger/strigger.c | 4 ++-- 7 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 doc/man/man3/slurm_init_trigger_msg.3 diff --git a/doc/man/man3/Makefile.am b/doc/man/man3/Makefile.am index a2ec99a8082..c9b4771be8b 100644 --- a/doc/man/man3/Makefile.am +++ b/doc/man/man3/Makefile.am @@ -52,6 +52,7 @@ man3_MANS = slurm_hostlist_create.3 \ slurm_init_job_desc_msg.3 \ slurm_init_part_desc_msg.3 \ slurm_init_resv_desc_msg.3 \ + slurm_init_trigger_msg.3 \ slurm_init_update_node_msg.3 \ slurm_init_update_step_msg.3 \ slurm_job_cpus_allocated_on_node.3 \ diff --git a/doc/man/man3/Makefile.in b/doc/man/man3/Makefile.in index 4aca4cc76cd..9547ae58925 100644 --- a/doc/man/man3/Makefile.in +++ b/doc/man/man3/Makefile.in @@ -370,6 +370,7 @@ man3_MANS = slurm_hostlist_create.3 \ slurm_init_job_desc_msg.3 \ slurm_init_part_desc_msg.3 \ slurm_init_resv_desc_msg.3 \ + slurm_init_trigger_msg.3 \ slurm_init_update_node_msg.3 \ slurm_init_update_step_msg.3 \ slurm_job_cpus_allocated_on_node.3 \ diff --git a/doc/man/man3/slurm_clear_trigger.3 b/doc/man/man3/slurm_clear_trigger.3 index 9731064c1a4..fc787fc05b5 100644 --- a/doc/man/man3/slurm_clear_trigger.3 +++ b/doc/man/man3/slurm_clear_trigger.3 @@ -1,8 +1,8 @@ -.TH "Slurm API" "3" "January 2010" "Morris Jette" "Slurm event trigger management functions" +.TH "Slurm API" "3" "October 2012" "Slurm API 2.5" "Slurm event trigger management functions" .SH "NAME" -slurm_clear_trigger, slurm_free_trigger_msg, +slurm_init_trigger_msg, slurm_clear_trigger, slurm_free_trigger_msg, slurm_get_triggers, slurm_set_trigger \- Slurm event trigger management functions .SH "SYNTAX" @@ -33,6 +33,12 @@ int \fBslurm_free_trigger\fR ( trigger_info_msg_t *\fItrigger_info_msg\fP .br ); +.LP +int \fBslurm_init_trigger_msg\fR ( +.br + trigger_info_msg_t *\fItrigger_info_msg\fP +.br +); .SH "ARGUMENTS" .LP @@ -62,6 +68,9 @@ to the \fBslurm_free_trigger\fR function. .LP \fBslurm_free_trigger\fR Release the memory allocated for the array returned by the \fBslurm_get_triggers\fR function. +.LP +\fBslurm_init_trigger_msg\fR Initialize the data structure to be used in +subsequent call to \fBslurm_set_trigger\fR or \fBslurm_clear_trigger\fR. .SH "RETURN VALUE" .LP diff --git a/doc/man/man3/slurm_init_trigger_msg.3 b/doc/man/man3/slurm_init_trigger_msg.3 new file mode 100644 index 00000000000..edfff17d82e --- /dev/null +++ b/doc/man/man3/slurm_init_trigger_msg.3 @@ -0,0 +1 @@ +.so man3/slurm_clear_trigger.3 diff --git a/slurm/slurm.h.in b/slurm/slurm.h.in index c39a7d9e348..fcea707290d 100644 --- a/slurm/slurm.h.in +++ b/slurm/slurm.h.in @@ -3585,6 +3585,12 @@ extern int slurm_pull_trigger PARAMS((trigger_info_t * trigger_pull)); */ extern void slurm_free_trigger_msg PARAMS((trigger_info_msg_t * trigger_free)); +/* + * slurm_init_trigger_msg - initialize trigger clear/update message + * OUT trigger_info_msg - user defined trigger descriptor + */ +void slurm_init_trigger_msg PARAMS((trigger_info_t *trigger_info_msg)); + END_C_DECLS #endif diff --git a/src/api/init_msg.c b/src/api/init_msg.c index 703355c1fad..d104580be6b 100644 --- a/src/api/init_msg.c +++ b/src/api/init_msg.c @@ -182,3 +182,13 @@ void slurm_init_update_block_msg (update_block_msg_t *update_block_msg) update_block_msg->node_use = (uint16_t)NO_VAL; update_block_msg->state = (uint16_t)NO_VAL; } + +/* + * slurm_init_trigger_msg - initialize trigger clear/update message + * OUT trigger_info_msg - user defined trigger descriptor + */ +void slurm_init_trigger_msg (trigger_info_t *trigger_info_msg) +{ + memset(trigger_info_msg, 0, sizeof(trigger_info_t)); + trigger_info_msg->user_id = NO_VAL; +} diff --git a/src/strigger/strigger.c b/src/strigger/strigger.c index 0203fa3e577..68b19f05171 100644 --- a/src/strigger/strigger.c +++ b/src/strigger/strigger.c @@ -98,7 +98,7 @@ static int _clear_trigger(void) trigger_info_t ti; char tmp_c[128]; - memset(&ti, 0, sizeof(trigger_info_t)); + slurm_init_trigger_msg(&ti); ti.trig_id = params.trigger_id; ti.user_id = params.user_id; if (params.job_id) { @@ -128,7 +128,7 @@ static int _set_trigger(void) trigger_info_t ti; char tmp_c[128]; - memset(&ti, 0, sizeof(trigger_info_t)); + slurm_init_trigger_msg (&ti); if (params.job_id) { ti.res_type = TRIGGER_RES_TYPE_JOB; snprintf(tmp_c, sizeof(tmp_c), "%u", params.job_id); -- GitLab