diff --git a/src/common/track_script.c b/src/common/track_script.c index c26f47ee567714100e90c11c91ae9c934c61a045..9398534aead632b7eb227f759ff487b0a65c89d0 100644 --- a/src/common/track_script.c +++ b/src/common/track_script.c @@ -38,6 +38,8 @@ #include <sys/time.h> #include <sys/wait.h> +#include "slurm/slurm_errno.h" + #include "src/common/macros.h" #include "src/common/xmalloc.h" #include "src/common/list.h" @@ -48,6 +50,14 @@ static pthread_mutex_t flush_mutex = PTHREAD_MUTEX_INITIALIZER; static pthread_cond_t flush_cond = PTHREAD_COND_INITIALIZER; static int flush_cnt = 0; +typedef struct { + uint32_t job_id; + pid_t cpid; + pthread_t tid; + pthread_mutex_t timer_mutex; + pthread_cond_t timer_cond; +} track_script_rec_t; + typedef struct { pthread_t tid; int status; @@ -225,8 +235,7 @@ extern void track_script_fini(void) FREE_NULL_LIST(track_script_thd_list); } -extern track_script_rec_t *track_script_rec_add( - uint32_t job_id, pid_t cpid, pthread_t tid) +extern void track_script_rec_add(uint32_t job_id, pid_t cpid, pthread_t tid) { track_script_rec_t *track_script_rec = xmalloc(sizeof(track_script_rec_t)); @@ -237,8 +246,6 @@ extern track_script_rec_t *track_script_rec_add( slurm_mutex_init(&track_script_rec->timer_mutex); slurm_cond_init(&track_script_rec->timer_cond, NULL); list_append(track_script_thd_list, track_script_rec); - - return track_script_rec; } static int _script_broadcast(void *object, void *key) diff --git a/src/common/track_script.h b/src/common/track_script.h index eab616332c40337610dce9c1aa54b94dd878bdf9..55e004bb70248b96c85d1fe389b8876a9b158319 100644 --- a/src/common/track_script.h +++ b/src/common/track_script.h @@ -41,14 +41,6 @@ #include <inttypes.h> -typedef struct { - uint32_t job_id; - pid_t cpid; - pthread_t tid; - pthread_mutex_t timer_mutex; - pthread_cond_t timer_cond; -} track_script_rec_t; - /* Init track_script system */ extern void track_script_init(void); @@ -67,10 +59,8 @@ extern void track_script_flush_job(uint32_t job_id); * IN cpid - If non-zero this track_script_rec_t will implicitly call * track_script_add * IN tid - thread id of thread we are tracking - * Returns track_script_rec_t */ -extern track_script_rec_t *track_script_rec_add( - uint32_t job_id, pid_t cpid, pthread_t tid); +extern void track_script_rec_add(uint32_t job_id, pid_t cpid, pthread_t tid); /* * Signal script thread to end diff --git a/src/plugins/burst_buffer/datawarp/burst_buffer_datawarp.c b/src/plugins/burst_buffer/datawarp/burst_buffer_datawarp.c index eda8bf5ceb6b3aadd3b7ef720f4271d7db616efa..6896a8fcb1557ecb02faa90638ae931b015d2db5 100644 --- a/src/plugins/burst_buffer/datawarp/burst_buffer_datawarp.c +++ b/src/plugins/burst_buffer/datawarp/burst_buffer_datawarp.c @@ -1574,8 +1574,7 @@ static void *_start_stage_in(void *x) bb_job_t *bb_job; bool get_real_size = false; DEF_TIMERS; - track_script_rec_t *track_script_rec = - track_script_rec_add(stage_args->job_id, 0, pthread_self()); + track_script_rec_add(stage_args->job_id, 0, pthread_self()); setup_argv = stage_args->args1; data_in_argv = stage_args->args2; @@ -1904,8 +1903,7 @@ static void *_start_stage_out(void *x) bb_alloc_t *bb_alloc = NULL; bb_job_t *bb_job = NULL; DEF_TIMERS - track_script_rec_t *track_script_rec = - track_script_rec_add(stage_args->job_id, 0, pthread_self()); + track_script_rec_add(stage_args->job_id, 0, pthread_self()); data_out_argv = stage_args->args1; post_run_argv = stage_args->args2; @@ -2165,9 +2163,7 @@ static void *_start_teardown(void *x) NO_LOCK, WRITE_LOCK, NO_LOCK, NO_LOCK, NO_LOCK }; DEF_TIMERS; bool hurry; - track_script_rec_t *track_script_rec = - track_script_rec_add(teardown_args->job_id, 0, - pthread_self()); + track_script_rec_add(teardown_args->job_id, 0, pthread_self()); teardown_argv = teardown_args->args1; @@ -4185,8 +4181,7 @@ static void *_start_pre_run(void *x) uint32_t timeout; bool hold_job = false, nodes_ready = false; DEF_TIMERS; - track_script_rec_t *track_script_rec = - track_script_rec_add(pre_run_args->job_id, 0, pthread_self()); + track_script_rec_add(pre_run_args->job_id, 0, pthread_self()); /* Wait for node boot to complete */ while (!nodes_ready) { @@ -4770,8 +4765,7 @@ static void *_create_persistent(void *x) int i, status = 0; uint32_t timeout; DEF_TIMERS; - track_script_rec_t *track_script_rec = - track_script_rec_add(create_args->job_id, 0, pthread_self()); + track_script_rec_add(create_args->job_id, 0, pthread_self()); script_argv = xcalloc(20, sizeof(char *)); /* NULL terminated */ script_argv[0] = xstrdup("dw_wlm_cli"); @@ -4940,8 +4934,7 @@ static void *_destroy_persistent(void *x) int status = 0; uint32_t timeout; DEF_TIMERS; - track_script_rec_t *track_script_rec = - track_script_rec_add(destroy_args->job_id, 0, pthread_self()); + track_script_rec_add(destroy_args->job_id, 0, pthread_self()); slurm_mutex_lock(&bb_state.bb_mutex); bb_alloc = bb_find_name_rec(destroy_args->name, destroy_args->user_id, diff --git a/src/slurmctld/job_scheduler.c b/src/slurmctld/job_scheduler.c index b66c3aa9d9ab82fe540c7aad74049e8b827bf372..87d84a4af4a7be25850b5da717cdd73aa3c97431 100644 --- a/src/slurmctld/job_scheduler.c +++ b/src/slurmctld/job_scheduler.c @@ -3824,7 +3824,6 @@ static void *_run_epilog(void *arg) int i, status, wait_rc; char *argv[2]; uint16_t tm; - track_script_rec_t *track_script_rec; argv[0] = epilog_arg->epilog_slurmctld; argv[1] = NULL; @@ -3842,8 +3841,7 @@ static void *_run_epilog(void *arg) } /* Start tracking this new process */ - track_script_rec = track_script_rec_add(epilog_arg->job_id, cpid, - pthread_self()); + track_script_rec_add(epilog_arg->job_id, cpid, pthread_self()); /* Prolog and epilog use the same timeout */ @@ -4276,7 +4274,6 @@ static void *_run_prolog(void *arg) time_t now = time(NULL); uint16_t resume_timeout = slurm_get_resume_timeout(); uint16_t tm; - track_script_rec_t *track_script_rec; lock_slurmctld(config_read_lock); job_id = job_ptr->job_id; @@ -4310,8 +4307,7 @@ static void *_run_prolog(void *arg) } /* Start tracking this new process */ - track_script_rec = track_script_rec_add(job_ptr->job_id, - cpid, pthread_self()); + track_script_rec_add(job_ptr->job_id, cpid, pthread_self()); tm = slurm_get_prolog_timeout(); while (1) {