socket stuff

git-svn-id: svn://elaine/murooma/trunk@278 d8a302eb-03bc-478d-80e4-98257eca68ef
This commit is contained in:
(no author) 2014-09-20 16:58:21 +00:00
parent df77bdd8cb
commit c7655f3e55
2 changed files with 7 additions and 5 deletions

View file

@ -48,7 +48,7 @@ void ServerSession::add(shared_ptr<BaseMessage> message)
bool ServerSession::send(BaseMessage* message)
{
// std::unique_lock<std::mutex> mlock(mutex_);
std::unique_lock<std::mutex> mlock(mutex_);
//cout << "send: " << message->type << ", size: " << message->getSize() << "\n";
if (!connected())
return false;
@ -110,17 +110,18 @@ void ServerSession::writer()
{
boost::asio::streambuf streambuf;
std::ostream stream(&streambuf);
for (;;)
shared_ptr<BaseMessage> message;
while (active_)
{
shared_ptr<BaseMessage> message(messages.pop());
send(message.get());
if (messages.try_pop(message, std::chrono::milliseconds(500)))
send(message.get());
}
}
catch (std::exception& e)
{
std::cerr << "Exception in thread: " << e.what() << "\n";
active_ = false;
}
active_ = false;
}