|
@@ -1692,21 +1692,25 @@ static int shell_ini__load_entities_list(sp_dir_t* dir, sp_cfg_shell_ini_t* shel
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
-static int shell_ini__load_sysevent(sp_cfg_shell_ini_t* shell, const char* shell_var_path, std::map<std::string, std::string> &sysEventArr)
|
|
|
+static int shell_ini__init_sysevent(sp_cfg_shell_ini_t* shell)
|
|
|
{
|
|
|
int rc = 0;
|
|
|
-
|
|
|
if (NULL == shell->arr_sysevent)
|
|
|
{
|
|
|
shell->arr_sysevent = shm_array_make(0, sizeof(sp_cfg_shell_sysevent_t*));
|
|
|
+ rc = 1;
|
|
|
+ }
|
|
|
+ else if (shell->arr_sysevent->nelts == 0) {
|
|
|
+ rc = 1;
|
|
|
+ }
|
|
|
+ if (rc == 1) {
|
|
|
//单独添加一个框架级别的系统变量
|
|
|
sp_cfg_shell_sysevent_t* sysevent = T_MALLOC_T(sp_cfg_shell_sysevent_t, 1);
|
|
|
memset(sysevent, 0, sizeof(sp_cfg_shell_sysevent_t));
|
|
|
sysevent->name = T_STRDUP(VAR_RSERVERD_KEY_TERM_STATE, 1);
|
|
|
sysevent->init_value[0] = '0', sysevent->init_value[1] = '\0';
|
|
|
-
|
|
|
sysevent->arr_owner_entity = shm_array_make(0, sizeof(sp_cfg_shell_entity_t*));
|
|
|
- sp_cfg_shell_entity_t* owner_entity = find_entity(shell, "SpShell");
|
|
|
+ sp_cfg_shell_entity_t* owner_entity = find_entity(shell, SPSHELL_NAME);
|
|
|
if (owner_entity) {
|
|
|
DbgWithLink(LOG_LEVEL_DEBUG, LOG_TYPE_SYSTEM)("add framework level sys val: %s", VAR_RSERVERD_KEY_TERM_STATE);
|
|
|
SHM_ARRAY_PUSH(sysevent->arr_owner_entity, sp_cfg_shell_entity_t*) = owner_entity;
|
|
@@ -1718,6 +1722,14 @@ static int shell_ini__load_sysevent(sp_cfg_shell_ini_t* shell, const char* shell
|
|
|
destroy_sysevent(sysevent);
|
|
|
}
|
|
|
}
|
|
|
+ return rc;
|
|
|
+}
|
|
|
+
|
|
|
+static int shell_ini__load_sysevent(sp_cfg_shell_ini_t* shell, const char* shell_var_path, std::map<std::string, std::string> &sysEventArr)
|
|
|
+{
|
|
|
+ int rc = 0;
|
|
|
+
|
|
|
+ shell_ini__init_sysevent(shell);
|
|
|
|
|
|
for (auto it = sysEventArr.begin(); it != sysEventArr.end(); it++)
|
|
|
{
|
|
@@ -2109,8 +2121,6 @@ ErrorCodeEnum init_shell_byHttp(sp_dir_t* dir, sp_cfg_shell_ini_t* shell, sp_cfg
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
//init entity debug mode
|
|
|
if (args->debug_mode && shell->arr_entity) {
|
|
|
DbgWithLink(LOG_LEVEL_INFO, LOG_TYPE_SYSTEM).setAPI(__FUNCTION__)("override entities' debug level!");
|
|
@@ -2172,7 +2182,7 @@ ErrorCodeEnum init_shell_byHttp(sp_dir_t* dir, sp_cfg_shell_ini_t* shell, sp_cfg
|
|
|
}
|
|
|
|
|
|
shell->shell_debug_level = args->debug_mode ? 2 : debug_level;
|
|
|
- shell->log_record_level = getEntityLogLevel("SpShell");
|
|
|
+ shell->log_record_level = getEntityLogLevel(SPSHELL_NAME);
|
|
|
|
|
|
if (args->telnet_port == 0)
|
|
|
shell->nConsolePort = shellConfig[SHELL_MAIN_HEAD].find(SHELL_MAIN_CONSOLEPORT) != shellConfig[SHELL_MAIN_HEAD].end() ?
|