diff --git a/src/slurmd/slurmd/req.c b/src/slurmd/slurmd/req.c index 50e46dbde071ebaa545e00972971ae790461cd0a..709eb04c676d1268fcde479387bc4d05472b5a71 100644 --- a/src/slurmd/slurmd/req.c +++ b/src/slurmd/slurmd/req.c @@ -2634,6 +2634,15 @@ _signal_jobstep(uint32_t jobid, uint32_t stepid, uid_t req_uid, uid_t uid; uint16_t protocol_version; + /* There will be no stepd if the prolog is still running + * Return failure so caller can retry. + */ + if (_prolog_is_running (jobid)) { + info ("signal %d req for %u.%u while prolog is running." + " Returning failure.", signal, jobid, stepid); + return SLURM_FAILURE; + } + fd = stepd_connect(conf->spooldir, conf->node_name, jobid, stepid, &protocol_version); if (fd == -1) {