Hopefully fixed console hang (again).
This commit is contained in:
parent
87192f2a6c
commit
7bc3cca110
@ -36,7 +36,8 @@ Console_c::Console_c(const Configuration_c &aConfig, CLogger_c &aLogger, uint16_
|
||||
mMapBackspace(aConfig.get<bool>("MapBackspace", true)),
|
||||
mBackspaceChar(aConfig.get<int>("BackspaceChar", 127) & 0xff),
|
||||
mDisableAutoTerminal(aDisableAutoTerminal),
|
||||
mLogInitialized(false)
|
||||
mLogInitialized(false),
|
||||
mInSendFromQueue(0)
|
||||
{
|
||||
if (!mConsoleCommand.is_initialized()) {
|
||||
mConsoleCommand = aConfig.get_optional<std::string>("ConsoleCommand");
|
||||
@ -115,11 +116,15 @@ void Console_c::SendFromQueue() {
|
||||
*mConnectionSocket,
|
||||
boost::asio::buffer(Head.mData),
|
||||
boost::bind(&Console_c::WriteHandler, this, boost::asio::placeholders::error)
|
||||
);
|
||||
//for (int i = 0; i < 100; ++i) {
|
||||
// mIoService.reset();
|
||||
// mIoService.poll();
|
||||
//}
|
||||
);
|
||||
for (int i = 0; i < 100; ++i) {
|
||||
if (mInSendFromQueue < 100) {
|
||||
++mInSendFromQueue;
|
||||
mIoService.reset();
|
||||
mIoService.poll();
|
||||
--mInSendFromQueue;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (boost::system::system_error &) {
|
||||
CloseSocket();
|
||||
|
||||
@ -116,6 +116,7 @@ protected:
|
||||
// std::string mTransmitBuf;
|
||||
// bool mTransmitFull;
|
||||
bool mAccepted;
|
||||
int mInSendFromQueue;
|
||||
|
||||
void CloseSocket();
|
||||
void AcceptHandler(const boost::system::error_code& aError);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user