提交 986f258d authored 作者: Anthony Minessale's avatar Anthony Minessale

let ctl-c work until you are connected

上级 e96acac3
...@@ -53,6 +53,7 @@ static unsigned char esl_console_complete(const char *buffer, const char *cursor ...@@ -53,6 +53,7 @@ static unsigned char esl_console_complete(const char *buffer, const char *cursor
#endif #endif
static char prompt_str[512] = ""; static char prompt_str[512] = "";
static int CONNECTED = 0;
typedef struct { typedef struct {
char name[128]; char name[128];
...@@ -537,6 +538,11 @@ static void handle_SIGINT(int sig) ...@@ -537,6 +538,11 @@ static void handle_SIGINT(int sig)
{ {
if (sig); if (sig);
if (!CONNECTED) {
fprintf(stdout, "Interrupted.\n");
exit(1);
}
WARN_STOP = 1; WARN_STOP = 1;
signal(SIGINT, handle_SIGINT); signal(SIGINT, handle_SIGINT);
...@@ -1235,6 +1241,8 @@ int main(int argc, char *argv[]) ...@@ -1235,6 +1241,8 @@ int main(int argc, char *argv[])
connect: connect:
CONNECTED = 0;
while (--loops > 0) { while (--loops > 0) {
memset(&handle, 0, sizeof(handle)); memset(&handle, 0, sizeof(handle));
if (esl_connect(&handle, profile->host, profile->port, profile->user, profile->pass)) { if (esl_connect(&handle, profile->host, profile->port, profile->user, profile->pass)) {
...@@ -1252,6 +1260,8 @@ int main(int argc, char *argv[]) ...@@ -1252,6 +1260,8 @@ int main(int argc, char *argv[])
esl_log(ESL_LOG_INFO, "Retrying\n"); esl_log(ESL_LOG_INFO, "Retrying\n");
} }
} else { } else {
CONNECTED = 1;
if (temp_log < 0 ) { if (temp_log < 0 ) {
esl_global_set_default_logger(profile->debug); esl_global_set_default_logger(profile->debug);
} else { } else {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论