From d0ea605a5b8c99f13cd75f5551dcd36c40c06fb1 Mon Sep 17 00:00:00 2001 From: Lu Qiuwen Date: Sun, 4 Nov 2018 14:17:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=A4=9ATCP=E5=B1=82?= =?UTF-8?q?=E6=8F=92=E4=BB=B6=E5=90=8C=E6=97=B6=E6=B3=A8=E5=86=8C=E6=97=B6?= =?UTF-8?q?=EF=BC=8C=E5=8F=AA=E8=B0=83=E7=94=A8=E4=B8=80=E4=B8=AA=E6=8F=92?= =?UTF-8?q?=E4=BB=B6open=E5=87=BD=E6=95=B0=E7=9A=84=E7=BC=BA=E9=99=B7?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- platform/include/internal/platform.h | 1 + platform/src/tcp_stream.cpp | 10 +++------- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/platform/include/internal/platform.h b/platform/include/internal/platform.h index 6eef6f7..4828573 100644 --- a/platform/include/internal/platform.h +++ b/platform/include/internal/platform.h @@ -30,6 +30,7 @@ enum tfe_plugin_state struct plugin_ctx { enum tfe_plugin_state state; + unsigned int is_plugin_opened; void * pme; }; diff --git a/platform/src/tcp_stream.cpp b/platform/src/tcp_stream.cpp index 27e4799..94b2295 100644 --- a/platform/src/tcp_stream.cpp +++ b/platform/src/tcp_stream.cpp @@ -489,14 +489,10 @@ static void __stream_bev_readcb(struct bufferevent * bev, void * arg) _stream->calling_idx = plugin_id; struct plugin_ctx * plug_ctx = &_stream->plugin_ctxs[plugin_id]; - if (_stream->is_plugin_opened == 0) + if (p_info_iter->on_open != NULL && plug_ctx->is_plugin_opened == 0) { - if (p_info_iter->on_open != NULL) - { - p_info_iter->on_open(&_stream->head, _stream->thread_ref->thread_id, dir, &(plug_ctx->pme)); - } - - _stream->is_plugin_opened = 1; + p_info_iter->on_open(&_stream->head, _stream->thread_ref->thread_id, dir, &(plug_ctx->pme)); + plug_ctx->is_plugin_opened = 1; } if (p_info_iter->on_data != NULL)