From e4cc44cf80c79381d974d304ce7ee5a4a982e094 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Fri, 27 Sep 2024 10:49:06 +0800 Subject: [PATCH] 1 --- a8/sysutils.cc | 9 +++++++++ a8/sysutils.h | 1 + a8/tcpsessionpool.cc | 5 +++-- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/a8/sysutils.cc b/a8/sysutils.cc index e2a2d88..1985e04 100644 --- a/a8/sysutils.cc +++ b/a8/sysutils.cc @@ -342,4 +342,13 @@ namespace a8 abort(); } + void TestSleep(int count, int interval, const std::string text) + { + int i = 0; + while (i++ < count) { + sleep(interval); + } + XPrintf("TestSleep %s\n", {text}); + } + } diff --git a/a8/sysutils.h b/a8/sysutils.h index d48aa7e..43e1ce8 100644 --- a/a8/sysutils.h +++ b/a8/sysutils.h @@ -97,4 +97,5 @@ namespace a8 void ClearSendQueue(a8::SendQueueNode* node); void Abort(); + void TestSleep(int count, int interval, const std::string text); } diff --git a/a8/tcpsessionpool.cc b/a8/tcpsessionpool.cc index ef5ecfd..ef155f0 100644 --- a/a8/tcpsessionpool.cc +++ b/a8/tcpsessionpool.cc @@ -51,7 +51,7 @@ namespace a8 ClearTimeOutSocket(); a8::TcpSession* p = nullptr; if (top_node_) { - if (time(nullptr) - top_node_->addtime >= 30) { + if (time(nullptr) - top_node_->addtime >= 20) { p = top_node_->session; a8::TcpSessionPool::TcpSessionNode* pdelnode = top_node_; top_node_ = top_node_->next; @@ -68,12 +68,13 @@ namespace a8 void TcpSessionPool::ClearTimeOutSocket() { while (top_node_) { - if(time(nullptr) - top_node_->addtime > 60 * 5){ + if(time(nullptr) - top_node_->addtime > 30){ a8::TcpSessionPool::TcpSessionNode* pdelnode = top_node_; top_node_ = top_node_->next; if (!top_node_) { bot_node_ = NULL; } + pdelnode->session->Destory(); delete pdelnode->session; delete pdelnode; count_--;