Skip to content
Snippets Groups Projects
Commit 480e4ba9 authored by Mark Grondona's avatar Mark Grondona
Browse files

o increase debugging information to pursue gnats slurm/229

parent 20cab809
No related branches found
No related tags found
No related merge requests found
...@@ -284,6 +284,20 @@ _exec_task(slurmd_job_t *job, int i) ...@@ -284,6 +284,20 @@ _exec_task(slurmd_job_t *job, int i)
exit(errno); exit(errno);
} }
static void
_smgr_sigset(sigset_t *setp)
{
if (sigemptyset(setp) < 0)
error("sigemptyset: %m");
if (sigaddset(setp, SIGCHLD) < 0)
error("sigaddset(SIGCHLD): %m");
if (sigaddset(setp, SIGTERM) < 0)
error("sigaddset(SIGTERM): %m");
if (sigaddset(setp, SIGINT) < 0)
error("sigaddset(SIGINT): %m");
if (sigaddset(setp, SIGXCPU) < 0)
error("sigaddset(SIGXCPU): %m");
}
/* /*
* Block a set of signals so that session manager process * Block a set of signals so that session manager process
...@@ -295,16 +309,7 @@ _block_smgr_signals(void) ...@@ -295,16 +309,7 @@ _block_smgr_signals(void)
int e; int e;
sigset_t set; sigset_t set;
if (sigemptyset(&set) < 0) _smgr_sigset(&set);
error("sigemptyset: %m");
if (sigaddset(&set, SIGCHLD) < 0)
error("sigaddset(SIGCHLD): %m");
if (sigaddset(&set, SIGTERM) < 0)
error("sigaddset(SIGTERM): %m");
if (sigaddset(&set, SIGINT) < 0)
error("sigaddset(SIGINT): %m");
if (sigaddset(&set, SIGXCPU) < 0)
error("sigaddset(SIGXCPU): %m");
if ((e = pthread_sigmask(SIG_BLOCK, &set, NULL)) < 0) if ((e = pthread_sigmask(SIG_BLOCK, &set, NULL)) < 0)
error("pthread_sigmask: %s", slurm_strerror(e)); error("pthread_sigmask: %s", slurm_strerror(e));
...@@ -323,10 +328,7 @@ _child_exited(void) ...@@ -323,10 +328,7 @@ _child_exited(void)
int sig; int sig;
sigset_t set; sigset_t set;
/* _smgr_sigset(&set);
* Get current mask of blocked signals
*/
xsignal_save_mask(&set);
do { do {
sigwait(&set, &sig); sigwait(&set, &sig);
...@@ -334,6 +336,7 @@ _child_exited(void) ...@@ -334,6 +336,7 @@ _child_exited(void)
case SIGXCPU: case SIGXCPU:
error("job exceeded timelimit"); error("job exceeded timelimit");
case SIGCHLD: case SIGCHLD:
debug2("got SIGCHLD");
break; break;
default: default:
debug("slurmd got signal %d", sig); break; debug("slurmd got signal %d", sig); break;
...@@ -460,6 +463,7 @@ _local_taskid(slurmd_job_t *job, pid_t pid) ...@@ -460,6 +463,7 @@ _local_taskid(slurmd_job_t *job, pid_t pid)
if (job->task[i]->pid == pid) if (job->task[i]->pid == pid)
return i; return i;
} }
debug("unknown pid %ld exited status 0x%04x %M", (long) pid);
return SLURM_ERROR; return SLURM_ERROR;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment