diff --git a/src/slurmctld/backup.c b/src/slurmctld/backup.c index d06d528f53c06c06d571c3f5851eeb5d060cb82c..6b8cf1f1ec64a03e115877b148a29b22fafc65fe 100644 --- a/src/slurmctld/backup.c +++ b/src/slurmctld/backup.c @@ -126,6 +126,7 @@ void run_backup(void) slurmctld_conf.backup_controller); pthread_kill(slurmctld_config.thread_id_sig, SIGTERM); pthread_join(slurmctld_config.thread_id_sig, NULL); + pthread_join(slurmctld_config.thread_id_rpc, NULL); /* clear old state and read new state */ job_fini(); @@ -168,8 +169,6 @@ static void *_background_signal_hand(void *no_data) slurmctld_config.shutdown_time = time(NULL); /* send REQUEST_SHUTDOWN_IMMEDIATE RPC */ slurmctld_shutdown(); - pthread_join(slurmctld_config.thread_id_rpc, NULL); - return NULL; /* Normal termination */ break; case SIGABRT: /* abort */ @@ -205,7 +204,7 @@ static void *_background_rpc_mgr(void *no_data) } /* - * Procss incoming RPCs indefinitely + * Process incoming RPCs indefinitely */ while (done_flag == false) { /* accept needed for stream implementation