From 6f8fc6c7d7eddb3d3b79b350e0c20fdd53aaf6f7 Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Tue, 26 Nov 2002 17:14:28 +0000 Subject: [PATCH] Report on first <ctrl-c> that second one require to forward signal. Combine line task states on a single line, not one per task. --- src/srun/io.c | 21 ++++++++++++++++++--- src/srun/srun.c | 1 + 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/srun/io.c b/src/srun/io.c index 384d561d60c..d4d206a8dc8 100644 --- a/src/srun/io.c +++ b/src/srun/io.c @@ -293,11 +293,26 @@ static char *_host_state_name(host_state_t state_inx) void report_task_status(job_t *job) { - int i; + int i, j; + int first_task, last_task; + task_state_t current_state; for (i = 0; i < opt.nprocs; i++) { - info ("task:%d state:%s", i, - _task_state_name(job->task_state[i])); + current_state = job->task_state[i]; + first_task = last_task = i; + for (j = (i+1); j < opt.nprocs; j++) { + if (current_state == job->task_state[i]) + last_task = j; + else + break; + } + if (first_task == last_task) + info ("task:%d state:%s", first_task, + _task_state_name(current_state)); + else + info ("tasks:%d-%d state:%s", first_task, last_task, + _task_state_name(current_state)); + i = last_task; } } diff --git a/src/srun/srun.c b/src/srun/srun.c index 736e60ca5ec..bc7e016d87f 100644 --- a/src/srun/srun.c +++ b/src/srun/srun.c @@ -517,6 +517,7 @@ _sig_thr(void *arg) switch (signo) { case SIGINT: if ((time(NULL) - last_intr) > 1) { + info("interrupt (one more within 1 sec to abort)"); report_task_status(job); last_intr = time(NULL); } else { /* second Ctrl-C in half as many seconds */ -- GitLab