修正插件调度模块中前一个插件detach不再更新plugin_id的问题。
This commit is contained in:
@@ -483,7 +483,7 @@ static void __stream_bev_readcb(struct bufferevent * bev, void * arg)
|
|||||||
unsigned int plugin_id = 0;
|
unsigned int plugin_id = 0;
|
||||||
|
|
||||||
for (const struct tfe_plugin * p_info_iter = tfe_plugin_iterate(&plugin_id_iter);
|
for (const struct tfe_plugin * p_info_iter = tfe_plugin_iterate(&plugin_id_iter);
|
||||||
p_info_iter != NULL; p_info_iter = tfe_plugin_iterate(&plugin_id_iter))
|
p_info_iter != NULL; p_info_iter = tfe_plugin_iterate(&plugin_id_iter), plugin_id++)
|
||||||
{
|
{
|
||||||
_stream->calling_idx = plugin_id;
|
_stream->calling_idx = plugin_id;
|
||||||
struct plugin_ctx * plug_ctx = &_stream->plugin_ctxs[plugin_id];
|
struct plugin_ctx * plug_ctx = &_stream->plugin_ctxs[plugin_id];
|
||||||
@@ -495,9 +495,7 @@ static void __stream_bev_readcb(struct bufferevent * bev, void * arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (plug_ctx->state == PLUG_STATE_DETACHED)
|
if (plug_ctx->state == PLUG_STATE_DETACHED)
|
||||||
{
|
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
|
|
||||||
if (p_info_iter->on_data != NULL)
|
if (p_info_iter->on_data != NULL)
|
||||||
{
|
{
|
||||||
@@ -506,11 +504,7 @@ static void __stream_bev_readcb(struct bufferevent * bev, void * arg)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (plug_ctx->state == PLUG_STATE_PREEPTION)
|
if (plug_ctx->state == PLUG_STATE_PREEPTION)
|
||||||
{
|
|
||||||
action_final = action_tmp;
|
action_final = action_tmp;
|
||||||
}
|
|
||||||
|
|
||||||
plugin_id++;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (action_final)
|
switch (action_final)
|
||||||
|
|||||||
Reference in New Issue
Block a user