let ctl-c work until you are connected

This commit is contained in:
Anthony Minessale 2011-02-24 18:48:16 -06:00
parent e96acac3c8
commit 986f258db0

View File

@ -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)
{ {
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[])
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[])
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 {