Project "FreeSWITCH Source" received a push.

branch: master updated

       via: dc436b82a52da05686ac178ad7854556e9688ed8 (commit)
      from: bdf678e401a8077aab06b9c04004c92ef6631e26 (commit)


= COMMIT LOG ===========================================================
committer: Anthony Minessale
comments: 
block control-z from fs cli and print a warning how to exit properly

diff --git a/libs/esl/fs_cli.c b/libs/esl/fs_cli.c
index 1e3bf04..19e8d7f 100644
--- a/libs/esl/fs_cli.c
+++ b/libs/esl/fs_cli.c
@@ -8,6 +8,7 @@
 #include <signal.h>
 
 #define CMD_BUFLEN 1024
+static int WARN_STOP = 0;
 
 #ifdef WIN32
 #define strdup(src) _strdup(src)
@@ -535,6 +536,13 @@ static BOOL console_readConsole(HANDLE conIn, char* buf, int len, int* pRed, int
 static void handle_SIGINT(int sig)
 {
 	if (sig);
+
+	WARN_STOP = 1;
+
+	signal(SIGINT, handle_SIGINT);
+#ifdef SIGTSTP
+	signal(SIGTSTP, handle_SIGINT);
+#endif
 	return;
 }
 
@@ -581,6 +589,12 @@ static void *msg_thread_run(esl_thread_t *me, void *obj)
 
 	while(thread_running && handle->connected) {
 		esl_status_t status = esl_recv_event_timed(handle, 10, 1, NULL);
+
+		if (WARN_STOP) {
+			printf("Type control-D or /exit or /quit or /bye to exit.\n\n");
+			WARN_STOP = 0;
+		}
+
 		if (status == ESL_FAIL) {
 			esl_log(ESL_LOG_WARNING, "Disconnected.\n");
 			running = -1; thread_running = 0;
@@ -1023,6 +1037,9 @@ int main(int argc, char *argv[])
 	}
 	
 	signal(SIGINT, handle_SIGINT);
+#ifdef SIGTSTP
+	signal(SIGTSTP, handle_SIGINT);
+#endif
 #ifdef SIGQUIT
 	signal(SIGQUIT, handle_SIGQUIT);
 #endif
========================================================================

Summary of changes:
 libs/esl/fs_cli.c |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

this email was generated because of /git/your-repo.git/hooks/post-receive by the file /git-core/contrib/hooks/post-receive-email
For more info, see http://blog.chomperstomp.com/?p=630 --
FreeSWITCH Source