提交 479639d1 编写于 作者: H Haojun Liao

other: merge 3.0

上级 5a4fd268
......@@ -43,7 +43,7 @@ IF (TD_WEBSOCKET)
ENDIF()
ENDIF ()
IF (TD_TAOS_TOOLS)
#IF (TD_TAOS_TOOLS)
INCLUDE_DIRECTORIES(${TD_SOURCE_DIR}/tools/taos_tools/deps/avro/lang/c/src)
INCLUDE_DIRECTORIES(${TD_SOURCE_DIR}/include/client)
INCLUDE_DIRECTORIES(${TD_SOURCE_DIR}/include/common)
......@@ -51,7 +51,7 @@ IF (TD_TAOS_TOOLS)
INCLUDE_DIRECTORIES(${TD_SOURCE_DIR}/include/os)
INCLUDE_DIRECTORIES(${TD_SOURCE_DIR}/include/libs/transport)
ADD_SUBDIRECTORY(taos-tools)
ENDIF ()
#ENDIF ()
add_subdirectory(shell)
IF (TD_BUILD_HTTP)
......
......@@ -19,6 +19,9 @@
#include "shellInt.h"
#define TAOS_CONSOLE_PROMPT_HEADER "taos> "
#define TAOS_CONSOLE_PROMPT_CONTINUE " -> "
#define SHELL_HOST "The auth string to use when connecting to the server."
#define SHELL_PORT "The TCP/IP port number to use for the connection."
#define SHELL_USER "The user name to use when connecting to the server."
......
......@@ -41,7 +41,7 @@ static void shellPrintError(TAOS_RES *tres, int64_t st);
static bool shellIsCommentLine(char *line);
static void shellSourceFile(const char *file);
static void shellGetGrantInfo();
static void shellQueryInterruptHandler(int32_t signum, void *sigInfo, void *context);
static void shellCleanup(void *arg);
static void *shellCancelHandler(void *arg);
static void *shellThreadLoop(void *arg);
......@@ -919,11 +919,14 @@ void shellGetGrantInfo() {
fprintf(stdout, "\r\n");
}
void shellQueryInterruptHandler(int32_t signum, void *sigInfo, void *context) { tsem_post(&shell.cancelSem); }
void shellSigintHandler(int32_t signum, void *sigInfo, void *context) {
// do nothing
#ifdef WINDOWS
BOOL shellQueryInterruptHandler(DWORD fdwCtrlType) {
tsem_post(&shell.cancelSem);
return TRUE;
}
#else
void shellQueryInterruptHandler(int32_t signum, void *sigInfo, void *context) { tsem_post(&shell.cancelSem); }
#endif
void shellCleanup(void *arg) { taosResetTerminalMode(); }
......@@ -934,11 +937,10 @@ void *shellCancelHandler(void *arg) {
taosMsleep(10);
continue;
}
taosResetTerminalMode();
printf("\r\nReceive SIGTERM or other signal, quit shell.\r\n");
shellWriteHistory();
shellExit();
taos_kill_query(shell.conn);
#ifdef WINDOWS
printf("\n%s", shell.info.promptHeader);
#endif
}
return NULL;
......@@ -1022,7 +1024,7 @@ int32_t shellExecute() {
taosSetSignal(SIGHUP, shellQueryInterruptHandler);
taosSetSignal(SIGABRT, shellQueryInterruptHandler);
taosSetSignal(SIGINT, shellSigintHandler);
taosSetSignal(SIGINT, shellQueryInterruptHandler);
shellGetGrantInfo();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册