diff --git a/src/blc_program.cpp b/src/blc_program.cpp index fa7cb16ee90114068f912b1a529ec6514c93a69c..1647b91cd89455ee4d66d449fb32d9295913e925 100644 --- a/src/blc_program.cpp +++ b/src/blc_program.cpp @@ -408,8 +408,14 @@ void blc_program_args_display_help() } static void on_sigterm(int){ - fprintf(stderr, "%s: receiving SIGTERM\n", blc_program_id); - exit(EXIT_SUCCESS); + if (blc_status==BLC_QUIT){ + fprintf(stderr, "%s: receiving SIGTERM in quiting mode. Force to quit.\n", blc_program_id); + exit(EXIT_FAILURE); + } + else { + fprintf(stderr, "%s: receiving SIGTERM\n", blc_program_id); + blc_command_ask_quit(); + } } static void on_sigtstp(int){