Server shuts down when the stdin is closed (linux Ctrl+D / win Ctrl+Z)

Fixes FS #419

git-svn-id: http://mc-server.googlecode.com/svn/trunk@1679 0a769ca7-a7f5-676a-18bf-c427514a06d6
master
madmaxoft@gmail.com 2013-07-24 20:25:27 +00:00
parent bb4bb018ab
commit df34c43293
1 changed files with 11 additions and 2 deletions

View File

@ -72,11 +72,20 @@ void cRoot::InputThread(void * a_Params)
cLogCommandOutputCallback Output;
while (!(self.m_bStop || self.m_bRestart))
while (!(self.m_bStop || self.m_bRestart) && std::cin.good())
{
std::string Command;
std::getline(std::cin, Command);
self.ExecuteConsoleCommand(Command, Output);
if (!Command.empty())
{
self.ExecuteConsoleCommand(Command, Output);
}
}
if (!(self.m_bStop || self.m_bRestart))
{
// We have come here because the std::cin has received an EOF and the server is still running; stop the server:
self.m_bStop = true;
}
}