diff --git a/src/slurmctld/backup.c b/src/slurmctld/backup.c index fe5b1188834a0e358b17f835817a98ff0ecdc272..d7727abbeaf5b7aa3f912e54dcc04111058f5c81 100644 --- a/src/slurmctld/backup.c +++ b/src/slurmctld/backup.c @@ -107,6 +107,7 @@ static int backup_sigarray[] = { * mode, assuming control when the primary controller stops responding */ void run_backup(void) { + int i; uint32_t trigger_type; time_t last_ping = 0; pthread_attr_t thread_attr_sig, thread_attr_rpc; @@ -149,7 +150,10 @@ void run_backup(void) trigger_type = TRIGGER_TYPE_BU_CTLD_RES_OP; _trigger_slurmctld_event(trigger_type); - sleep(5); /* Give the primary slurmctld set-up time */ + for (i = 0; ((i < 5) && (slurmctld_config.shutdown_time == 0)); i++) { + sleep(1); /* Give the primary slurmctld set-up time */ + } + /* repeatedly ping ControlMachine */ while (slurmctld_config.shutdown_time == 0) { sleep(1);