From 0ae4192e3a75e5627a80e5131fb4425948f146b6 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 29 May 2019 14:23:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=86=85=E5=AD=98=E6=B3=84?= =?UTF-8?q?=E9=9C=B2=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- a8/tcplistener.cc | 2 +- a8/tcpsession2.cc | 1 - a8/tcpsession2.h | 2 +- a8/tcpsessionpool.cc | 1 + a8/websocketsession.cc | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/a8/tcplistener.cc b/a8/tcplistener.cc index 2cb5716..66e29ed 100644 --- a/a8/tcplistener.cc +++ b/a8/tcplistener.cc @@ -335,7 +335,7 @@ namespace a8 } epoll_event *events = new epoll_event[max_clients]; while (!worker_thread_shutdown) { - int nfds = ::epoll_wait(epoll_fd, events, max_clients, -1); + int nfds = ::epoll_wait(epoll_fd, events, max_clients, 1000 * 10); for (int i = 0; i < nfds; ++i) { a8::TcpSession* session = (a8::TcpSession*)events[i].data.ptr; if (events[i].events & EPOLLIN) { diff --git a/a8/tcpsession2.cc b/a8/tcpsession2.cc index 8b27fa0..714e724 100644 --- a/a8/tcpsession2.cc +++ b/a8/tcpsession2.cc @@ -34,7 +34,6 @@ namespace a8 TcpSession::~TcpSession() { - Destory(); } void TcpSession::SetMaxPacketLen(int max_packet_len) diff --git a/a8/tcpsession2.h b/a8/tcpsession2.h index 2811da1..3e954d5 100644 --- a/a8/tcpsession2.h +++ b/a8/tcpsession2.h @@ -32,6 +32,7 @@ namespace a8 virtual void OnError(int); virtual void OnConnect(); virtual void OnDisConnect(); + virtual void Destory(); bool Alive(); protected: @@ -40,7 +41,6 @@ namespace a8 void SetSocket(int sock); bool AllocRecvBuf(); virtual void Reset(); - virtual void Destory(); void _ForceClose(); virtual void OnSocketRead(char* buf, unsigned int buflen); virtual void DecodePacket(char* buf, int& offset, unsigned int buflen); diff --git a/a8/tcpsessionpool.cc b/a8/tcpsessionpool.cc index f9fb828..5f74d1a 100644 --- a/a8/tcpsessionpool.cc +++ b/a8/tcpsessionpool.cc @@ -29,6 +29,7 @@ namespace a8 while (top_node_) { pdelnode = top_node_; top_node_ = top_node_->next; + pdelnode->session->Destory(); delete pdelnode->session; delete pdelnode; } diff --git a/a8/websocketsession.cc b/a8/websocketsession.cc index 521dfd8..5a98afd 100644 --- a/a8/websocketsession.cc +++ b/a8/websocketsession.cc @@ -75,7 +75,7 @@ namespace a8 void WebSocketSession::Destory() { a8::TcpSession::Destory(); - if (!decoded_buff_) { + if (decoded_buff_) { free(decoded_buff_); decoded_buff_ = nullptr; }