Commit 56d91733 authored by Pavel Vainerman's avatar Pavel Vainerman

(LogSession): исправил логическую ошибку, соединения никогда не закрывались.

parent e9a19faa
......@@ -167,7 +167,6 @@ int main( int argc, char** argv )
la->printLogList(cout);
return 0;
#endif
LogServer ls(la);
ls.setMaxSessionCount(msess);
......@@ -214,9 +213,9 @@ int main( int argc, char** argv )
{
cerr << "(logserver): " << ex << endl;
}
catch(...)
catch( std::exception& ex)
{
cerr << "(logserver): catch(...)" << endl;
cerr << "(logserver): " << ex.what() << endl;
}
return 0;
......
......@@ -77,6 +77,8 @@ class LogSession
std::string getShortInfo() noexcept;
std::string name() const noexcept;
protected:
// LogSession( ost::TCPSocket& server );
......
......@@ -53,6 +53,7 @@ LogServer::LogServer( std::shared_ptr<DebugStream> log ) noexcept:
sock(0),
elog(log)
{
}
// -------------------------------------------------------------------------
LogServer::LogServer() noexcept:
......@@ -213,7 +214,7 @@ void LogServer::ioAccept( ev::io& watcher, int revents )
}
{
uniset_rwmutex_wrlock l(mutSList);
uniset_rwmutex_rlock l(mutSList);
if( slist.size() >= sessMaxCount )
{
......@@ -298,7 +299,7 @@ string LogServer::getShortInfo()
<< endl;
{
uniset_rwmutex_wrlock l(mutSList);
uniset_rwmutex_rlock l(mutSList);
for( const auto& s : slist )
inf << " " << s->getShortInfo() << endl;
......
......@@ -597,10 +597,12 @@ void LogSession::onCheckConnectionTimer( ev::timer& watcher, int revents ) noexc
// если клиент уже отвалился.. то при попытке write.. сессия будет закрыта.
// длинное сообщение ("keep alive message") забивает логи, что потом неудобно смотреть, поэтому пишем "пустоту"
// длинное сообщение ("keep alive message") забивает логи, что потом неудобно смотреть
// поэтому используем "пробел и возврат на один символ"
try
{
logbuf.emplace(new UTCPCore::Buffer(""));
//
logbuf.emplace(new UTCPCore::Buffer(" \b"));
}
catch(...){}
......@@ -658,7 +660,7 @@ string LogSession::getShortInfo() noexcept
ostringstream inf;
inf << "client: " << caddr << endl
inf << "client: " << caddr << " :"
<< " buffer[" << maxRecordsNum << "]: size=" << sz
<< " maxCount=" << maxCount
<< " minSizeMsg=" << minSizeMsg
......@@ -669,3 +671,8 @@ string LogSession::getShortInfo() noexcept
return std::move(inf.str());
}
// ---------------------------------------------------------------------
string LogSession::name() const noexcept
{
return caddr;
}
// ---------------------------------------------------------------------
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment