diff --git a/libs/esl/fs_cli.c b/libs/esl/fs_cli.c index a70d63fab5..19c5795bee 100644 --- a/libs/esl/fs_cli.c +++ b/libs/esl/fs_cli.c @@ -53,6 +53,7 @@ static unsigned char esl_console_complete(const char *buffer, const char *cursor #endif static char prompt_str[512] = ""; +static int CONNECTED = 0; typedef struct { char name[128]; @@ -537,6 +538,11 @@ static void handle_SIGINT(int sig) { if (sig); + if (!CONNECTED) { + fprintf(stdout, "Interrupted.\n"); + exit(1); + } + WARN_STOP = 1; signal(SIGINT, handle_SIGINT); @@ -1235,6 +1241,8 @@ int main(int argc, char *argv[]) connect: + CONNECTED = 0; + while (--loops > 0) { memset(&handle, 0, sizeof(handle)); if (esl_connect(&handle, profile->host, profile->port, profile->user, profile->pass)) { @@ -1252,6 +1260,8 @@ int main(int argc, char *argv[]) esl_log(ESL_LOG_INFO, "Retrying\n"); } } else { + CONNECTED = 1; + if (temp_log < 0 ) { esl_global_set_default_logger(profile->debug); } else {