1
0
mirror of synced 2026-01-13 15:17:07 +00:00

Hopefully fixed console hang (again).

This commit is contained in:
Andras Tantos 2025-02-13 22:27:42 +00:00
parent 87192f2a6c
commit 7bc3cca110
2 changed files with 12 additions and 6 deletions

View File

@ -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();

View File

@ -116,6 +116,7 @@ protected:
// std::string mTransmitBuf;
// bool mTransmitFull;
bool mAccepted;
int mInSendFromQueue;
void CloseSocket();
void AcceptHandler(const boost::system::error_code& aError);