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