Use larger thread termination timeouts.
This commit is contained in:
@@ -25,7 +25,7 @@
|
|||||||
#include <net/sendercallback.h>
|
#include <net/sendercallback.h>
|
||||||
#include <net/receiverhelper.h>
|
#include <net/receiverhelper.h>
|
||||||
#include <net/socket_msg.h>
|
#include <net/socket_msg.h>
|
||||||
#include <core/loghelper.h>
|
#include <core/loghelper.h>
|
||||||
#include <game.h>
|
#include <game.h>
|
||||||
#include <localenginefactory.h>
|
#include <localenginefactory.h>
|
||||||
#include <tools.h>
|
#include <tools.h>
|
||||||
@@ -145,7 +145,7 @@ ServerGameThread::Main()
|
|||||||
} catch (const PokerTHException &e)
|
} catch (const PokerTHException &e)
|
||||||
{
|
{
|
||||||
GetCallback().SignalNetServerError(e.GetErrorId(), e.GetOsErrorCode());
|
GetCallback().SignalNetServerError(e.GetErrorId(), e.GetOsErrorCode());
|
||||||
LOG_ERROR(e.what());
|
LOG_ERROR(e.what());
|
||||||
}
|
}
|
||||||
GetSender().SignalTermination();
|
GetSender().SignalTermination();
|
||||||
if (!GetSender().Join(SENDER_THREAD_TERMINATE_TIMEOUT))
|
if (!GetSender().Join(SENDER_THREAD_TERMINATE_TIMEOUT))
|
||||||
|
|||||||
@@ -270,7 +270,7 @@ ServerLobbyThread::Main()
|
|||||||
|
|
||||||
GetSender().SignalTermination();
|
GetSender().SignalTermination();
|
||||||
if (!GetSender().Join(SENDER_THREAD_TERMINATE_TIMEOUT))
|
if (!GetSender().Join(SENDER_THREAD_TERMINATE_TIMEOUT))
|
||||||
LOG_ERROR("Fatal error: Unable to terminated Sender Thread in Lobby.");
|
LOG_ERROR("Fatal error: Unable to terminated Sender Thread in Lobby.");
|
||||||
|
|
||||||
CleanupConnectQueue();
|
CleanupConnectQueue();
|
||||||
}
|
}
|
||||||
@@ -710,7 +710,7 @@ ServerLobbyThread::RemoveGameLoop()
|
|||||||
boost::shared_ptr<ServerGameThread> tmpGame = pos->second;
|
boost::shared_ptr<ServerGameThread> tmpGame = pos->second;
|
||||||
tmpGame->SignalTermination();
|
tmpGame->SignalTermination();
|
||||||
if (!tmpGame->Join(GAME_THREAD_TERMINATE_TIMEOUT))
|
if (!tmpGame->Join(GAME_THREAD_TERMINATE_TIMEOUT))
|
||||||
throw ServerException(__FILE__, __LINE__, ERR_NET_GAME_TERMINATION_FAILED, 0);
|
throw ServerException(__FILE__, __LINE__, ERR_NET_GAME_TERMINATION_FAILED, 0);
|
||||||
InternalRemoveGame(tmpGame);
|
InternalRemoveGame(tmpGame);
|
||||||
}
|
}
|
||||||
++i;
|
++i;
|
||||||
|
|||||||
@@ -30,7 +30,7 @@
|
|||||||
#include <deque>
|
#include <deque>
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
|
|
||||||
#define SENDER_THREAD_TERMINATE_TIMEOUT 2000
|
#define SENDER_THREAD_TERMINATE_TIMEOUT 10000
|
||||||
#define SEND_TIMEOUT_MSEC 10
|
#define SEND_TIMEOUT_MSEC 10
|
||||||
#define SEND_QUEUE_SIZE 1000
|
#define SEND_QUEUE_SIZE 1000
|
||||||
#define SEND_LOW_PRIO_QUEUE_SIZE 50000
|
#define SEND_LOW_PRIO_QUEUE_SIZE 50000
|
||||||
|
|||||||
@@ -27,7 +27,7 @@
|
|||||||
|
|
||||||
#include <deque>
|
#include <deque>
|
||||||
|
|
||||||
#define GAME_THREAD_TERMINATE_TIMEOUT 4000
|
#define GAME_THREAD_TERMINATE_TIMEOUT 20000
|
||||||
|
|
||||||
|
|
||||||
class SenderThread;
|
class SenderThread;
|
||||||
|
|||||||
Reference in New Issue
Block a user