20160525版本,1)运行回调表注册的start和finish函数为空;2)修复初始化时只有增量回调类配置,scanner未创建导致的段错误。
This commit is contained in:
@@ -689,8 +689,11 @@ int Maat_table_callback_register(Maat_feather_t feather,short table_id,
|
|||||||
p_table->cb_info->cb_plug[idx].finish=finish;
|
p_table->cb_info->cb_plug[idx].finish=finish;
|
||||||
p_table->cb_info->cb_plug[idx].u_para=u_para;
|
p_table->cb_info->cb_plug[idx].u_para=u_para;
|
||||||
if(p_table->cb_info->line_num>0)
|
if(p_table->cb_info->line_num>0)
|
||||||
|
{
|
||||||
|
if(start!=NULL)
|
||||||
{
|
{
|
||||||
start(MAAT_RULE_UPDATE_TYPE_FULL,u_para);
|
start(MAAT_RULE_UPDATE_TYPE_FULL,u_para);
|
||||||
|
}
|
||||||
for(i=0;i<p_table->cb_info->line_num;i++)
|
for(i=0;i<p_table->cb_info->line_num;i++)
|
||||||
{
|
{
|
||||||
lines=(const char*)dynamic_array_read(p_table->cb_info->cache_lines,i);
|
lines=(const char*)dynamic_array_read(p_table->cb_info->cache_lines,i);
|
||||||
@@ -700,8 +703,11 @@ int Maat_table_callback_register(Maat_feather_t feather,short table_id,
|
|||||||
}
|
}
|
||||||
update(table_id,lines,u_para);
|
update(table_id,lines,u_para);
|
||||||
}
|
}
|
||||||
|
if(finish!=NULL)
|
||||||
|
{
|
||||||
finish(u_para);
|
finish(u_para);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
pthread_mutex_unlock(&(p_table->cb_info->plugin_mutex));
|
pthread_mutex_unlock(&(p_table->cb_info->plugin_mutex));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
#include "mesa_fuzzy.h"
|
#include "mesa_fuzzy.h"
|
||||||
#include "great_index_engine.h"
|
#include "great_index_engine.h"
|
||||||
|
|
||||||
int MAAT_FRAME_VERSION_1_7_20160510=1;
|
int MAAT_FRAME_VERSION_1_7_20160525=1;
|
||||||
const char *maat_module="MAAT Frame";
|
const char *maat_module="MAAT Frame";
|
||||||
|
|
||||||
const char* CHARSET_STRING[]={"NONE","gbk","big5","unicode","utf8","bin",
|
const char* CHARSET_STRING[]={"NONE","gbk","big5","unicode","utf8","bin",
|
||||||
@@ -2440,10 +2440,13 @@ void maat_start_cb(unsigned int new_version,int update_type,void*u_para)
|
|||||||
}
|
}
|
||||||
p_table_cb=p_table->cb_info;
|
p_table_cb=p_table->cb_info;
|
||||||
for(j=0;j<p_table_cb->cb_plug_cnt;j++)
|
for(j=0;j<p_table_cb->cb_plug_cnt;j++)
|
||||||
|
{
|
||||||
|
if(p_table_cb->cb_plug[j].start!=NULL)
|
||||||
{
|
{
|
||||||
p_table_cb->cb_plug[j].start(update_type,p_table_cb->cb_plug[j].u_para);
|
p_table_cb->cb_plug[j].start(update_type,p_table_cb->cb_plug[j].u_para);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
void maat_finish_cb(void* u_para)
|
void maat_finish_cb(void* u_para)
|
||||||
@@ -2470,10 +2473,13 @@ void maat_finish_cb(void* u_para)
|
|||||||
}
|
}
|
||||||
p_table_cb=p_table->cb_info;
|
p_table_cb=p_table->cb_info;
|
||||||
for(j=0;j<p_table_cb->cb_plug_cnt;j++)
|
for(j=0;j<p_table_cb->cb_plug_cnt;j++)
|
||||||
|
{
|
||||||
|
if(p_table_cb->cb_plug[j].finish!=NULL)
|
||||||
{
|
{
|
||||||
p_table_cb->cb_plug[j].finish(p_table_cb->cb_plug[j].u_para);
|
p_table_cb->cb_plug[j].finish(p_table_cb->cb_plug[j].u_para);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if(feather->update_tmp_scanner!=NULL)
|
if(feather->update_tmp_scanner!=NULL)
|
||||||
{
|
{
|
||||||
feather->update_tmp_scanner->cfg_num=total;
|
feather->update_tmp_scanner->cfg_num=total;
|
||||||
@@ -2485,7 +2491,7 @@ void maat_finish_cb(void* u_para)
|
|||||||
"Full config version %u load %d entries complete.",
|
"Full config version %u load %d entries complete.",
|
||||||
feather->update_tmp_scanner->version,feather->update_tmp_scanner->cfg_num);
|
feather->update_tmp_scanner->version,feather->update_tmp_scanner->cfg_num);
|
||||||
}
|
}
|
||||||
else
|
else if(feather->scanner!=NULL)
|
||||||
{
|
{
|
||||||
feather->scanner->cfg_num=total;
|
feather->scanner->cfg_num=total;
|
||||||
feather->scanner->version=feather->maat_version;
|
feather->scanner->version=feather->maat_version;
|
||||||
@@ -2506,6 +2512,12 @@ void maat_finish_cb(void* u_para)
|
|||||||
feather->scanner->version,feather->scanner->cfg_num);
|
feather->scanner->version,feather->scanner->cfg_num);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
MESA_handle_runtime_log(feather->logger,RLOG_LV_INFO,maat_module,
|
||||||
|
"Version %d have no valid scan rules, plugin callback complete.",
|
||||||
|
feather->maat_version);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
void maat_update_cb(const char* table_name,const char* line,void *u_para)
|
void maat_update_cb(const char* table_name,const char* line,void *u_para)
|
||||||
|
|||||||
Reference in New Issue
Block a user