diff --git a/src/slurmd/req.c b/src/slurmd/req.c index 7b09998321a4ef8711700b79e18adcbf2b355313..e38b6c83d283a02af1f5a4e3f54f87749e5cec4e 100644 --- a/src/slurmd/req.c +++ b/src/slurmd/req.c @@ -897,6 +897,8 @@ _rpc_kill_job(slurm_msg_t *msg, slurm_addr *cli) goto done; } + save_cred_state(conf->vctx); + if (_run_epilog(req->job_id, req->job_uid) != 0) { error ("[job %u] epilog failed", req->job_id); rc = ESLURMD_EPILOG_FAILED; diff --git a/src/slurmd/slurmd.c b/src/slurmd/slurmd.c index 450df193d69fb53fbdbb656820fdb43c75e0a95b..c39ed90e45fd878e222b09bc2d662ade2e9ceb3a 100644 --- a/src/slurmd/slurmd.c +++ b/src/slurmd/slurmd.c @@ -168,7 +168,7 @@ main (int argc, char *argv[]) /* * Restore any saved revoked credential information */ - if (_restore_cred_state(conf->vctx)) + if (!conf->cleanstart && (_restore_cred_state(conf->vctx) < 0)) return SLURM_FAILURE; if (interconnect_node_init() < 0) @@ -537,7 +537,7 @@ _init_conf() conf->port = 0; conf->daemonize = 1; conf->lfd = -1; - conf->shm_cleanup = 0; + conf->cleanstart = 0; conf->log_opts = lopts; conf->debug_level = LOG_LEVEL_INFO; conf->pidfile = xstrdup(DEFAULT_SLURMD_PIDFILE); @@ -573,7 +573,7 @@ _process_cmdline(int ac, char **av) conf->logfile = xstrdup(optarg); break; case 'c': - conf->shm_cleanup = 1; + conf->cleanstart = 1; break; default: _usage(c); @@ -658,7 +658,7 @@ _slurmd_init() /* * Cleanup shared memory if so configured */ - if (conf->shm_cleanup) { + if (conf->cleanstart) { /* * Need to kill any running slurmd's here so they do * not fail to lock shared memory on exit @@ -695,8 +695,7 @@ _restore_cred_state(slurm_cred_ctx_t ctx) int cred_fd, data_allocated, data_read = 0; Buf buffer = NULL; - if ( (mkdir(conf->spooldir, 0755) < 0) - && (errno != EEXIST) ) { + if ( (mkdir(conf->spooldir, 0755) < 0) && (errno != EEXIST) ) { fatal("mkdir(%s): %m", conf->spooldir); return SLURM_ERROR; } diff --git a/src/slurmd/slurmd.h b/src/slurmd/slurmd.h index 4d6769d95e0deb9ffb59811c4d2b44f1917e115c..f069457121bf1a8043f75b8f594b35954a9ed447 100644 --- a/src/slurmd/slurmd.h +++ b/src/slurmd/slurmd.h @@ -80,7 +80,7 @@ typedef struct slurmd_config { log_options_t log_opts; /* current logging options */ int debug_level; /* logging detail level */ int daemonize:1; /* daemonize flag */ - int shm_cleanup:1; + int cleanstart:1; /* clean start requested (-c) */ slurm_cred_ctx_t vctx; /* slurm_cred_t verifier context */