From: Loic Blot Date: Mon, 16 Mar 2015 19:25:35 +0000 (+0100) Subject: Server::step throw is never catched. Replace it with an errorstream + assert X-Git-Tag: 0.4.13~477 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=5f8e48c63baf12930430d5d8fc07495021599e61;p=oweals%2Fminetest.git Server::step throw is never catched. Replace it with an errorstream + assert This throw can be trigger by LuaError exception or ConnectionBindFailed exception in the following functions: * EmergeThread::Thread() * ScriptApiEnv::environment_Step() * ScriptApiEnv::player_event() * ServerThread::Thread() --- diff --git a/src/server.cpp b/src/server.cpp index 35405851f..4e955e40a 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -479,10 +479,13 @@ void Server::step(float dtime) JMutexAutoLock lock(m_step_dtime_mutex); m_step_dtime += dtime; } - // Throw if fatal error occurred in thread + // Assert if fatal error occurred in thread std::string async_err = m_async_fatal_error.get(); - if(async_err != ""){ - throw ServerError(async_err); + if(async_err != "") { + errorstream << "UNRECOVERABLE error occurred. Stopping server. " + << "Please fix the following error:" << std::endl + << async_err << std::endl; + assert(false); } }