]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
let ctl-c work until you are connected
authorAnthony Minessale <anthm@freeswitch.org>
Fri, 25 Feb 2011 00:48:16 +0000 (18:48 -0600)
committerAnthony Minessale <anthm@freeswitch.org>
Fri, 25 Feb 2011 00:48:16 +0000 (18:48 -0600)
libs/esl/fs_cli.c

index a70d63fab57471bcf50bc8b99b32423fba6e1cdb..19c5795beea1973a175e003b019a2c4869de94c4 100644 (file)
@@ -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 {