WebServer icon indicating copy to clipboard operation
WebServer copied to clipboard

请教关于HttpData对象的析构问题

Open wstang35 opened this issue 4 years ago • 4 comments

在void HttpData::handleConn() 中,如果HttpData对象的error_ == true,会执行以下语句:

loop_->runInLoop(bind(&HttpData::handleClose, shared_from_this()));

此时runInLoop会直接执行HttpData::handleClose(),那么执行完它之后HttpData对象会不会已经析构了?

因为发现HttpData::handleClose()之后已经没有对象再持有管理HttpData的智能指针了...如果析构的话此时还在HttpData::handleConn()中,会不会造成问题呢?

那么HttpData::handleConn() 中是不是应该用queueInLoop呢?

wstang35 avatar Apr 16 '20 15:04 wstang35

一般情况下是不是只有poller持有HttpData智能指针呢?

wstang35 avatar Apr 16 '20 16:04 wstang35

另外请教一下,如何关闭日志系统,因为我做压测的时候性能差的比较多,想看下是不是日志系统影响太大了?还是说虚拟机上会有影响

wstang35 avatar Apr 18 '20 13:04 wstang35

”析构的话此时还在HttpData::handleConn()中“ 这句话是什么意思哈?

linyacool avatar May 01 '20 08:05 linyacool

另外请教一下,如何关闭日志系统,因为我做压测的时候性能差的比较多,想看下是不是日志系统影响太大了?还是说虚拟机上会有影响

日志是异步的,不太可能有啥影响的

linyacool avatar May 01 '20 08:05 linyacool