From 072101c2d70478fbb5ea0766d04a1be863436b6c Mon Sep 17 00:00:00 2001 From: Danny Auble <da@llnl.gov> Date: Wed, 25 Nov 2009 16:47:29 +0000 Subject: [PATCH] job_desc_msg_t - in, out, err have been changed to std_in, std_out, and std_err respectfully. Needed for PySLURM, since Python sees (in) as a keyword. --- NEWS | 3 ++ RELEASE_NOTES | 5 ++- slurm/slurm.h.in | 6 +-- src/common/slurm_protocol_defs.c | 12 +++--- src/common/slurm_protocol_defs.h | 6 +-- src/common/slurm_protocol_pack.c | 27 ++++++------ src/sbatch/sbatch.c | 6 +-- src/slurmctld/job_mgr.c | 58 +++++++++++++------------- src/slurmctld/job_scheduler.c | 6 +-- src/slurmctld/proc_req.c | 6 +-- src/slurmctld/slurmctld.h | 6 +-- src/slurmd/slurmd/req.c | 7 ++-- src/slurmd/slurmstepd/slurmstepd_job.c | 12 +++--- 13 files changed, 84 insertions(+), 76 deletions(-) diff --git a/NEWS b/NEWS index a231dab97ab..81af27069ad 100644 --- a/NEWS +++ b/NEWS @@ -15,6 +15,9 @@ documents those changes that are of interest to users and admins. attempt to set previously non-existant uids every hour. -- Patch from Aaron Knister and Mark Grondona, to parse correctly quoted #SBATCH options in a batch script. + -- job_desc_msg_t - in, out, err have been changed to std_in, std_out, + and std_err respectfully. Needed for PySLURM, since Python sees (in) + as a keyword. * Changes in SLURM 2.1.0-pre7 ============================= diff --git a/RELEASE_NOTES b/RELEASE_NOTES index 756fa637f2c..41c595614a8 100644 --- a/RELEASE_NOTES +++ b/RELEASE_NOTES @@ -86,7 +86,7 @@ COMMAND CHANGES (see man pages for details) minimum values of -sockets-per-node, --cores-per-socket and --threads-per-core for now). * Change scontrol show job info: ReqProcs (number of processors requested) - is replaced by NumProcs (number of processors requested or actually + is replaced by NumCPUs (number of cpus requested or actually allocated) and ReqNodes (number of nodes requested) is replaced by NumNodes (number of nodes requested or actually allocated). @@ -102,6 +102,9 @@ BLUEGENE SPECIFIC CHANGES SLURM_JOB_CPUS_PER_NODE now reference cnode counts instead of midplane counts. SLURM_NODELIST still references midplane names. +API CHANGES +* job_desc_msg_t - in, out, err have been changed to std_in, std_out, + and std_err respectfully. OTHER CHANGES * A mechanism has been added for SPANK plugins to set environment variables diff --git a/slurm/slurm.h.in b/slurm/slurm.h.in index 6ac82d9f55d..2260a563996 100644 --- a/slurm/slurm.h.in +++ b/slurm/slurm.h.in @@ -553,7 +553,6 @@ typedef struct job_descriptor { /* For submit, allocate, and update requests */ char **environment; /* environment variables to set for job, * name=value pairs, one per line */ uint32_t env_size; /* element count in environment */ - char *err; /* pathname of stderr */ char *exc_nodes; /* comma separated list of nodes excluded * from job's allocation, default NONE */ char *features; /* comma separated list of required features, @@ -561,7 +560,6 @@ typedef struct job_descriptor { /* For submit, allocate, and update requests */ uint32_t group_id; /* group to assume, if run as root. */ uint16_t immediate; /* 1 if allocate to run or fail immediately, * 0 if to be queued awaiting resources */ - char *in; /* pathname of stdin */ uint32_t job_id; /* job ID, default set by SLURM */ uint16_t kill_on_node_fail; /* 1 if node failure to kill job, * 0 otherwise,default=1 */ @@ -579,7 +577,6 @@ typedef struct job_descriptor { /* For submit, allocate, and update requests */ uint8_t open_mode; /* out/err open mode truncate or append, * see OPEN_MODE_* */ uint16_t other_port; /* port to send various notification msg to */ - char *out; /* pathname of stdout */ uint8_t overcommit; /* over subscribe resources, for batch only */ char *partition; /* name of requested partition, * default in SLURM config */ @@ -656,6 +653,9 @@ typedef struct job_descriptor { /* For submit, allocate, and update requests */ select_jobinfo_t *select_jobinfo; /* opaque data type, * SLURM internal use only */ + char *std_err; /* pathname of stderr */ + char *std_in; /* pathname of stdin */ + char *std_out; /* pathname of stdout */ char *wckey; /* wckey for job */ } job_desc_msg_t; diff --git a/src/common/slurm_protocol_defs.c b/src/common/slurm_protocol_defs.c index a99997ceff9..9df019e770c 100644 --- a/src/common/slurm_protocol_defs.c +++ b/src/common/slurm_protocol_defs.c @@ -323,10 +323,10 @@ void slurm_free_job_desc_msg(job_desc_msg_t * msg) for (i = 0; i < msg->env_size; i++) xfree(msg->environment[i]); xfree(msg->environment); - xfree(msg->err); + xfree(msg->std_err); xfree(msg->exc_nodes); xfree(msg->features); - xfree(msg->in); + xfree(msg->std_in); xfree(msg->licenses); xfree(msg->linuximage); xfree(msg->mail_user); @@ -334,7 +334,7 @@ void slurm_free_job_desc_msg(job_desc_msg_t * msg) xfree(msg->mloaderimage); xfree(msg->name); xfree(msg->network); - xfree(msg->out); + xfree(msg->std_out); xfree(msg->partition); xfree(msg->ramdiskimage); xfree(msg->req_nodes); @@ -361,9 +361,9 @@ void slurm_free_job_launch_msg(batch_job_launch_msg_t * msg) xfree(msg->cpus_per_node); xfree(msg->cpu_count_reps); xfree(msg->script); - xfree(msg->err); - xfree(msg->in); - xfree(msg->out); + xfree(msg->std_err); + xfree(msg->std_in); + xfree(msg->std_out); xfree(msg->work_dir); xfree(msg->ckpt_dir); xfree(msg->restart_dir); diff --git a/src/common/slurm_protocol_defs.h b/src/common/slurm_protocol_defs.h index 78755e65528..a66088600ad 100644 --- a/src/common/slurm_protocol_defs.h +++ b/src/common/slurm_protocol_defs.h @@ -723,9 +723,9 @@ typedef struct batch_job_launch_msg { uint16_t cpus_per_task; /* number of CPUs requested per task */ char *nodes; /* list of nodes allocated to job_step */ char *script; /* the actual job script, default NONE */ - char *err; /* pathname of stderr */ - char *in; /* pathname of stdin */ - char *out; /* pathname of stdout */ + char *std_err; /* pathname of stderr */ + char *std_in; /* pathname of stdin */ + char *std_out; /* pathname of stdout */ char *work_dir; /* full pathname of working directory */ char *ckpt_dir; /* location to store checkpoint image */ char *restart_dir; /* retart execution from image in this dir */ diff --git a/src/common/slurm_protocol_pack.c b/src/common/slurm_protocol_pack.c index 4a605d6baf8..76a5c4e43cf 100644 --- a/src/common/slurm_protocol_pack.c +++ b/src/common/slurm_protocol_pack.c @@ -3370,9 +3370,9 @@ _pack_job_desc_msg(job_desc_msg_t * job_desc_ptr, Buf buffer) packstr(job_desc_ptr->script, buffer); packstr_array(job_desc_ptr->argv, job_desc_ptr->argc, buffer); - packstr(job_desc_ptr->err, buffer); - packstr(job_desc_ptr->in, buffer); - packstr(job_desc_ptr->out, buffer); + packstr(job_desc_ptr->std_err, buffer); + packstr(job_desc_ptr->std_in, buffer); + packstr(job_desc_ptr->std_out, buffer); packstr(job_desc_ptr->work_dir, buffer); packstr(job_desc_ptr->ckpt_dir, buffer); @@ -3522,9 +3522,9 @@ _unpack_job_desc_msg(job_desc_msg_t ** job_desc_buffer_ptr, Buf buffer) safe_unpackstr_xmalloc(&job_desc_ptr->script, &uint32_tmp, buffer); safe_unpackstr_array(&job_desc_ptr->argv, &job_desc_ptr->argc, buffer); - safe_unpackstr_xmalloc(&job_desc_ptr->err, &uint32_tmp, buffer); - safe_unpackstr_xmalloc(&job_desc_ptr->in, &uint32_tmp, buffer); - safe_unpackstr_xmalloc(&job_desc_ptr->out, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&job_desc_ptr->std_err, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&job_desc_ptr->std_in, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&job_desc_ptr->std_out, &uint32_tmp, buffer); safe_unpackstr_xmalloc(&job_desc_ptr->work_dir, &uint32_tmp, buffer); safe_unpackstr_xmalloc(&job_desc_ptr->ckpt_dir, &uint32_tmp, buffer); @@ -4582,9 +4582,9 @@ _pack_batch_job_launch_msg(batch_job_launch_msg_t * msg, Buf buffer) packstr(msg->ckpt_dir, buffer); packstr(msg->restart_dir, buffer); - packstr(msg->err, buffer); - packstr(msg->in, buffer); - packstr(msg->out, buffer); + packstr(msg->std_err, buffer); + packstr(msg->std_in, buffer); + packstr(msg->std_out, buffer); pack32(msg->argc, buffer); packstr_array(msg->argv, msg->argc, buffer); @@ -4641,11 +4641,12 @@ _unpack_batch_job_launch_msg(batch_job_launch_msg_t ** msg, Buf buffer) safe_unpackstr_xmalloc(&launch_msg_ptr->script, &uint32_tmp, buffer); safe_unpackstr_xmalloc(&launch_msg_ptr->work_dir, &uint32_tmp, buffer); safe_unpackstr_xmalloc(&launch_msg_ptr->ckpt_dir, &uint32_tmp, buffer); - safe_unpackstr_xmalloc(&launch_msg_ptr->restart_dir, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&launch_msg_ptr->restart_dir, + &uint32_tmp, buffer); - safe_unpackstr_xmalloc(&launch_msg_ptr->err, &uint32_tmp, buffer); - safe_unpackstr_xmalloc(&launch_msg_ptr->in, &uint32_tmp, buffer); - safe_unpackstr_xmalloc(&launch_msg_ptr->out, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&launch_msg_ptr->std_err, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&launch_msg_ptr->std_in, &uint32_tmp, buffer); + safe_unpackstr_xmalloc(&launch_msg_ptr->std_out, &uint32_tmp, buffer); safe_unpack32(&launch_msg_ptr->argc, buffer); safe_unpackstr_array(&launch_msg_ptr->argv, diff --git a/src/sbatch/sbatch.c b/src/sbatch/sbatch.c index a9a42e80b92..411a24b65c0 100644 --- a/src/sbatch/sbatch.c +++ b/src/sbatch/sbatch.c @@ -317,9 +317,9 @@ static int fill_job_desc_from_opts(job_desc_msg_t *desc) desc->env_size = envcount (desc->environment); desc->argv = opt.script_argv; desc->argc = opt.script_argc; - desc->err = opt.efname; - desc->in = opt.ifname; - desc->out = opt.ofname; + desc->std_err = opt.efname; + desc->std_in = opt.ifname; + desc->std_out = opt.ofname; desc->work_dir = opt.cwd; if (opt.requeue != NO_VAL) desc->requeue = opt.requeue; diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index f65799f3de4..303c3c445e3 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -257,16 +257,16 @@ void delete_job_details(struct job_record *job_entry) for (i=0; i<job_entry->details->env_cnt; i++) xfree(job_entry->details->env_sup[i]); xfree(job_entry->details->env_sup); - xfree(job_entry->details->err); + xfree(job_entry->details->std_err); FREE_NULL_BITMAP(job_entry->details->exc_node_bitmap); xfree(job_entry->details->exc_nodes); if (job_entry->details->feature_list) list_destroy(job_entry->details->feature_list); xfree(job_entry->details->features); - xfree(job_entry->details->in); + xfree(job_entry->details->std_in); xfree(job_entry->details->mc_ptr); xfree(job_entry->details->mem_bind); - xfree(job_entry->details->out); + xfree(job_entry->details->std_out); FREE_NULL_BITMAP(job_entry->details->req_node_bitmap); xfree(job_entry->details->req_node_layout); xfree(job_entry->details->req_nodes); @@ -1157,9 +1157,9 @@ void _dump_job_details(struct job_details *detail_ptr, Buf buffer) packstr(detail_ptr->features, buffer); packstr(detail_ptr->dependency, buffer); - packstr(detail_ptr->err, buffer); - packstr(detail_ptr->in, buffer); - packstr(detail_ptr->out, buffer); + packstr(detail_ptr->std_err, buffer); + packstr(detail_ptr->std_in, buffer); + packstr(detail_ptr->std_out, buffer); packstr(detail_ptr->work_dir, buffer); packstr(detail_ptr->ckpt_dir, buffer); packstr(detail_ptr->restart_dir, buffer); @@ -1258,15 +1258,15 @@ static int _load_job_details(struct job_record *job_ptr, Buf buffer) xfree(job_ptr->details->argv); xfree(job_ptr->details->cpu_bind); xfree(job_ptr->details->dependency); - xfree(job_ptr->details->err); + xfree(job_ptr->details->std_err); for (i=0; i<job_ptr->details->env_cnt; i++) xfree(job_ptr->details->env_sup[i]); xfree(job_ptr->details->env_sup); xfree(job_ptr->details->exc_nodes); xfree(job_ptr->details->features); - xfree(job_ptr->details->in); + xfree(job_ptr->details->std_in); xfree(job_ptr->details->mem_bind); - xfree(job_ptr->details->out); + xfree(job_ptr->details->std_out); xfree(job_ptr->details->req_nodes); xfree(job_ptr->details->work_dir); xfree(job_ptr->details->ckpt_dir); @@ -1284,10 +1284,10 @@ static int _load_job_details(struct job_record *job_ptr, Buf buffer) job_ptr->details->dependency = dependency; job_ptr->details->env_cnt = env_cnt; job_ptr->details->env_sup = env_sup; - job_ptr->details->err = err; + job_ptr->details->std_err = err; job_ptr->details->exc_nodes = exc_nodes; job_ptr->details->features = features; - job_ptr->details->in = in; + job_ptr->details->std_in = in; job_ptr->details->job_min_cpus = job_min_cpus; job_ptr->details->job_min_memory = job_min_memory; job_ptr->details->job_min_tmp_disk = job_min_tmp_disk; @@ -1300,7 +1300,7 @@ static int _load_job_details(struct job_record *job_ptr, Buf buffer) job_ptr->details->ntasks_per_node = ntasks_per_node; job_ptr->details->num_tasks = num_tasks; job_ptr->details->open_mode = open_mode; - job_ptr->details->out = out; + job_ptr->details->std_out = out; job_ptr->details->overcommit = overcommit; job_ptr->details->plane_size = plane_size; job_ptr->details->prolog_running = prolog_running; @@ -1748,8 +1748,8 @@ void dump_job_desc(job_desc_msg_t * job_specs) job_specs->spank_job_env[1], job_specs->spank_job_env[2]); - debug3(" in=%s out=%s err=%s", - job_specs->in, job_specs->out, job_specs->err); + debug3(" stdin=%s stdout=%s stderr=%s", + job_specs->std_in, job_specs->std_out, job_specs->std_err); debug3(" work_dir=%s alloc_node:sid=%s:%u", job_specs->work_dir, @@ -2829,9 +2829,9 @@ static int _validate_job_create_req(job_desc_msg_t * job_desc) strlen(job_desc->dependency)); return ESLURM_PATHNAME_TOO_LONG; } - if (job_desc->err && (strlen(job_desc->err) > MAX_STR_LEN)) { + if (job_desc->std_err && (strlen(job_desc->std_err) > MAX_STR_LEN)) { info("_validate_job_create_req: strlen(err) too big (%d)", - strlen(job_desc->err)); + strlen(job_desc->std_err)); return ESLURM_PATHNAME_TOO_LONG; } if (job_desc->features && (strlen(job_desc->features) > MAX_STR_LEN)) { @@ -2839,9 +2839,9 @@ static int _validate_job_create_req(job_desc_msg_t * job_desc) strlen(job_desc->features)); return ESLURM_PATHNAME_TOO_LONG; } - if (job_desc->in && (strlen(job_desc->in) > MAX_STR_LEN)) { + if (job_desc->std_in && (strlen(job_desc->std_in) > MAX_STR_LEN)) { info("_validate_job_create_req: strlen(in) too big (%d)", - strlen(job_desc->in)); + strlen(job_desc->std_in)); return ESLURM_PATHNAME_TOO_LONG; } if (job_desc->linuximage && @@ -2876,9 +2876,9 @@ static int _validate_job_create_req(job_desc_msg_t * job_desc) strlen(job_desc->network)); return ESLURM_PATHNAME_TOO_LONG; } - if (job_desc->out && (strlen(job_desc->out) > MAX_STR_LEN)) { + if (job_desc->std_out && (strlen(job_desc->std_out) > MAX_STR_LEN)) { info("_validate_job_create_req: strlen(out) too big (%d)", - strlen(job_desc->out)); + strlen(job_desc->std_out)); return ESLURM_PATHNAME_TOO_LONG; } if (job_desc->partition && (strlen(job_desc->partition) > MAX_STR_LEN)) { @@ -3475,12 +3475,12 @@ _copy_job_desc_to_job_record(job_desc_msg_t * job_desc, detail_ptr->job_min_tmp_disk = job_desc->job_min_tmp_disk; if (job_desc->num_tasks != NO_VAL) detail_ptr->num_tasks = job_desc->num_tasks; - if (job_desc->err) - detail_ptr->err = xstrdup(job_desc->err); - if (job_desc->in) - detail_ptr->in = xstrdup(job_desc->in); - if (job_desc->out) - detail_ptr->out = xstrdup(job_desc->out); + if (job_desc->std_err) + detail_ptr->std_err = xstrdup(job_desc->std_err); + if (job_desc->std_in) + detail_ptr->std_in = xstrdup(job_desc->std_in); + if (job_desc->std_out) + detail_ptr->std_out = xstrdup(job_desc->std_out); if (job_desc->work_dir) detail_ptr->work_dir = xstrdup(job_desc->work_dir); if (job_desc->begin_time > time(NULL)) @@ -7644,12 +7644,12 @@ _copy_job_record_to_job_desc(struct job_record *job_ptr) job_desc->dependency = xstrdup(details->dependency); job_desc->environment = get_job_env(job_ptr, &job_desc->env_size); - job_desc->err = xstrdup(details->err); + job_desc->std_err = xstrdup(details->std_err); job_desc->exc_nodes = xstrdup(details->exc_nodes); job_desc->features = xstrdup(details->features); job_desc->group_id = job_ptr->group_id; job_desc->immediate = 0; /* nowhere to get this value */ - job_desc->in = xstrdup(details->in); + job_desc->std_in = xstrdup(details->std_in); job_desc->job_id = job_ptr->job_id; /* XXX */ job_desc->kill_on_node_fail = job_ptr->kill_on_node_fail; job_desc->licenses = xstrdup(job_ptr->licenses); @@ -7663,7 +7663,7 @@ _copy_job_record_to_job_desc(struct job_record *job_ptr) job_desc->num_tasks = details->num_tasks; job_desc->open_mode = details->open_mode; job_desc->other_port = job_ptr->other_port; - job_desc->out = xstrdup(details->out); + job_desc->std_out = xstrdup(details->std_out); job_desc->overcommit = details->overcommit; job_desc->partition = xstrdup(job_ptr->partition); job_desc->plane_size = details->plane_size; diff --git a/src/slurmctld/job_scheduler.c b/src/slurmctld/job_scheduler.c index f3e7d9e99d7..3e840681c97 100644 --- a/src/slurmctld/job_scheduler.c +++ b/src/slurmctld/job_scheduler.c @@ -559,9 +559,9 @@ extern void launch_job(struct job_record *job_ptr) return; } - launch_msg_ptr->err = xstrdup(job_ptr->details->err); - launch_msg_ptr->in = xstrdup(job_ptr->details->in); - launch_msg_ptr->out = xstrdup(job_ptr->details->out); + launch_msg_ptr->std_err = xstrdup(job_ptr->details->std_err); + launch_msg_ptr->std_in = xstrdup(job_ptr->details->std_in); + launch_msg_ptr->std_out = xstrdup(job_ptr->details->std_out); launch_msg_ptr->work_dir = xstrdup(job_ptr->details->work_dir); launch_msg_ptr->ckpt_dir = xstrdup(job_ptr->details->ckpt_dir); launch_msg_ptr->restart_dir = xstrdup(job_ptr->details->restart_dir); diff --git a/src/slurmctld/proc_req.c b/src/slurmctld/proc_req.c index d9da76dd3f9..29a72322765 100644 --- a/src/slurmctld/proc_req.c +++ b/src/slurmctld/proc_req.c @@ -3247,9 +3247,9 @@ int _launch_batch_step(job_desc_msg_t *job_desc_msg, uid_t uid, return SLURM_ERROR; } - launch_msg_ptr->err = xstrdup(job_desc_msg->err); - launch_msg_ptr->in = xstrdup(job_desc_msg->in); - launch_msg_ptr->out = xstrdup(job_desc_msg->out); + launch_msg_ptr->std_err = xstrdup(job_desc_msg->std_err); + launch_msg_ptr->std_in = xstrdup(job_desc_msg->std_in); + launch_msg_ptr->std_out = xstrdup(job_desc_msg->std_out); launch_msg_ptr->acctg_freq = job_desc_msg->acctg_freq; launch_msg_ptr->open_mode = job_desc_msg->open_mode; launch_msg_ptr->work_dir = xstrdup(job_desc_msg->work_dir); diff --git a/src/slurmctld/slurmctld.h b/src/slurmctld/slurmctld.h index 71d6a7fe705..053c87e9e95 100644 --- a/src/slurmctld/slurmctld.h +++ b/src/slurmctld/slurmctld.h @@ -312,13 +312,11 @@ struct job_details { uint16_t env_cnt; /* size of env_sup (see below) */ char **env_sup; /* supplemental environment variables * as set by Moab */ - char *err; /* pathname of job's stderr file */ bitstr_t *exc_node_bitmap; /* bitmap of excluded nodes */ char *exc_nodes; /* excluded nodes */ List feature_list; /* required features with * node counts */ char *features; /* required features */ - char *in; /* pathname of job's stdin file */ /* job constraints: */ uint32_t job_min_cpus; /* minimum processors per node */ uint32_t job_min_memory; /* minimum memory per node (MB) OR @@ -336,7 +334,6 @@ struct job_details { uint16_t ntasks_per_node; /* number of tasks on each node */ uint32_t num_tasks; /* number of tasks to start */ uint8_t open_mode; /* stdout/err append or trunctate */ - char *out; /* pathname of job's stdout file */ uint8_t overcommit; /* processors being over subscribed */ uint16_t plane_size; /* plane size when task_dist = * SLURM_DIST_PLANE */ @@ -354,6 +351,9 @@ struct job_details { * 0 if job cannot share nodes, * any other value accepts the default * sharing policy. */ + char *std_err; /* pathname of job's stderr file */ + char *std_in; /* pathname of job's stdin file */ + char *std_out; /* pathname of job's stdout file */ time_t submit_time; /* time of submission */ uint16_t task_dist; /* task layout for this job. Only * useful when Consumable Resources diff --git a/src/slurmd/slurmd/req.c b/src/slurmd/slurmd/req.c index 1d91494bff2..ef1fe47216c 100644 --- a/src/slurmd/slurmd/req.c +++ b/src/slurmd/slurmd/req.c @@ -929,10 +929,11 @@ _prolog_error(batch_job_launch_msg_t *req, int rc) char *err_name_ptr, err_name[128], path_name[MAXPATHLEN]; int fd; - if (req->err) - err_name_ptr = req->err; + if (req->std_err) + err_name_ptr = req->std_err; else { - snprintf(err_name, sizeof(err_name), "slurm-%u.err", req->job_id); + snprintf(err_name, sizeof(err_name), "slurm-%u.err", + req->job_id); err_name_ptr = err_name; } if (err_name_ptr[0] == '/') diff --git a/src/slurmd/slurmstepd/slurmstepd_job.c b/src/slurmd/slurmstepd/slurmstepd_job.c index 06c73a5aecb..360522e2fe6 100644 --- a/src/slurmd/slurmstepd/slurmstepd_job.c +++ b/src/slurmd/slurmstepd/slurmstepd_job.c @@ -388,18 +388,18 @@ job_batch_job_create(batch_job_launch_msg_t *msg) job->task = (slurmd_task_info_t **) xmalloc(sizeof(slurmd_task_info_t *)); - if (msg->err == NULL) - msg->err = xstrdup(msg->out); + if (msg->std_err == NULL) + msg->std_err = xstrdup(msg->std_out); - if (msg->in == NULL) + if (msg->std_in == NULL) in_name = xstrdup("/dev/null"); else - in_name = fname_create(job, msg->in, 0); + in_name = fname_create(job, msg->std_in, 0); job->task[0] = task_info_create(0, 0, in_name, - _batchfilename(job, msg->out), - _batchfilename(job, msg->err)); + _batchfilename(job, msg->std_out), + _batchfilename(job, msg->std_err)); job->task[0]->argc = job->argc; job->task[0]->argv = job->argv; -- GitLab