From b10854782f94fc0346368ee7f942e9bd065bc865 Mon Sep 17 00:00:00 2001
From: Danny Auble <da@llnl.gov>
Date: Fri, 1 Dec 2006 17:26:59 +0000
Subject: [PATCH] svn merge -r10328:10334 
 https://eris.llnl.gov/svn/slurm/branches/slurm-1.1

---
 NEWS                         |  4 ++++
 src/slurmd/slurmd/req.c      |  5 ++---
 src/slurmd/slurmstepd/mgr.c  |  3 +--
 src/slurmd/slurmstepd/task.c | 12 ++++++------
 4 files changed, 13 insertions(+), 11 deletions(-)

diff --git a/NEWS b/NEWS
index 35fbe7d94dc..ed108f75224 100644
--- a/NEWS
+++ b/NEWS
@@ -156,6 +156,8 @@ documents those changes that are of interest to users and admins.
    return code.
  - Altered ncurses check to make sure programs can link before saying we 
    have a working curses lib and header.
+ - Fixed an init issue with forward_struct_init not being set correctly in
+   a few locations in the slurmd.
 
 * Changes in SLURM 1.1.20
 =========================
@@ -540,6 +542,8 @@ documents those changes that are of interest to users and admins.
 * Changes in SLURM 1.0.17
 =========================
  -- Set correct user groups for task epilogs.
+ -- Make it so we only run 1 task pro/epilog either the user specified or the 
+    slurm.conf one if either.
 
 * Changes in SLURM 1.0.16
 =========================
diff --git a/src/slurmd/slurmd/req.c b/src/slurmd/slurmd/req.c
index 5add2473905..049dd7b8caa 100644
--- a/src/slurmd/slurmd/req.c
+++ b/src/slurmd/slurmd/req.c
@@ -884,7 +884,8 @@ _abort_step(uint32_t job_id, uint32_t step_id)
 {
 	step_complete_msg_t resp;
 	slurm_msg_t resp_msg;
-
+	slurm_msg_t_init(&resp_msg);
+	
 	resp.job_id       = job_id;
 	resp.job_step_id  = step_id;
 	resp.range_first  = 0;
@@ -893,8 +894,6 @@ _abort_step(uint32_t job_id, uint32_t step_id)
 	resp.jobacct      = jobacct_g_alloc(NULL);
 	resp_msg.msg_type = REQUEST_STEP_COMPLETE;
 	resp_msg.data     = &resp;
-	forward_init(&resp_msg.forward, NULL);
-	resp_msg.ret_list = NULL;
 	return slurm_send_only_controller_msg(&resp_msg);
 }
 
diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c
index 554e952e5f0..7adb61b4e30 100644
--- a/src/slurmd/slurmstepd/mgr.c
+++ b/src/slurmd/slurmstepd/mgr.c
@@ -1104,8 +1104,7 @@ _wait_for_any_task(slurmd_job_t *job, bool waitflag)
 				_run_script_as_user("user task_epilog",
 						    job->task_epilog,
 						    job, 2, job->env);
-			}
-			if (conf->task_epilog) {
+			} else if (conf->task_epilog) {
 				char *my_epilog;
 				slurm_mutex_lock(&conf->config_mutex);
 				my_epilog = xstrdup(conf->task_epilog);
diff --git a/src/slurmd/slurmstepd/task.c b/src/slurmd/slurmstepd/task.c
index dce2e536f11..2568cbad9f4 100644
--- a/src/slurmd/slurmstepd/task.c
+++ b/src/slurmd/slurmstepd/task.c
@@ -343,8 +343,11 @@ exec_task(slurmd_job_t *job, int i, int waitfd)
 
 	/* task plugin hook */
 	pre_launch(job);
-
-	if (conf->task_prolog) {
+	
+	if (job->task_prolog) {
+		_run_script_and_set_env("user task_prolog",
+					job->task_prolog, job); 
+	} else if (conf->task_prolog) {
 		char *my_prolog;
 		slurm_mutex_lock(&conf->config_mutex);
 		my_prolog = xstrdup(conf->task_prolog);
@@ -353,10 +356,7 @@ exec_task(slurmd_job_t *job, int i, int waitfd)
 					my_prolog, job);
 		xfree(my_prolog);
 	}
-	if (job->task_prolog) {
-		_run_script_and_set_env("user task_prolog",
-					job->task_prolog, job); 
-	}
+	
 
 	if (job->env == NULL) {
 		debug("job->env is NULL");
-- 
GitLab