From d4ae6f20cdf8322025edc7f74e2e46ad641bd53f Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Thu, 4 Jan 2007 20:39:02 +0000 Subject: [PATCH] svn merge -r10688:10694 https://eris.llnl.gov/svn/slurm/branches/slurm-1.1 --- src/slurmctld/proc_req.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/slurmctld/proc_req.c b/src/slurmctld/proc_req.c index f9e4a6430c8..a42326e434c 100644 --- a/src/slurmctld/proc_req.c +++ b/src/slurmctld/proc_req.c @@ -1681,9 +1681,15 @@ static void _slurm_rpc_submit_batch_job(slurm_msg_t * msg) (unsigned int) uid); } if (error_code == SLURM_SUCCESS) { - if ((job_desc_msg->job_id != SLURM_BATCH_SCRIPT) - && (find_job_record(job_desc_msg->job_id) != NULL)) { - + lock_slurmctld(job_write_lock); + if (job_desc_msg->job_id != SLURM_BATCH_SCRIPT) { + job_ptr = find_job_record(job_desc_msg->job_id); + if (job_ptr && IS_JOB_FINISHED(job_ptr)) + job_ptr = NULL; + } else + job_ptr = NULL; + + if (job_ptr) { /* Active job allocation */ #ifdef HAVE_FRONT_END /* Limited job step support */ /* Non-super users not permitted to run job steps on front-end. * A single slurmd can not handle a heavy load. */ @@ -1691,10 +1697,10 @@ static void _slurm_rpc_submit_batch_job(slurm_msg_t * msg) info("Attempt to execute batch job step by uid=%u", (unsigned int) uid); slurm_send_rc_msg(msg, ESLURM_BATCH_ONLY); + unlock_slurmctld(job_write_lock); return; } #endif - lock_slurmctld(job_write_lock); error_code = _launch_batch_step(job_desc_msg, uid, &step_id); unlock_slurmctld(job_write_lock); @@ -1722,7 +1728,7 @@ static void _slurm_rpc_submit_batch_job(slurm_msg_t * msg) return; } - lock_slurmctld(job_write_lock); + /* Create new job allocation */ error_code = job_allocate(job_desc_msg, job_desc_msg->immediate, false, false, uid, &job_ptr); -- GitLab