- just let delete shutdown the thread to avoid mutex deadlock

This commit is contained in:
Mark Vejvoda 2010-06-18 17:09:42 +00:00
parent df7181d435
commit 60c6848832
3 changed files with 8 additions and 11 deletions

View File

@ -32,9 +32,6 @@ using namespace Shared::Platform;
namespace Glest{ namespace Game{
// if FPS is less than this we start to skip 3D renders
//int MIN_RENDER_FPS_ALLOWED = 15;
Game *thisGamePtr = NULL;
// =====================================================

View File

@ -325,7 +325,7 @@ MenuStateCustomGame::~MenuStateCustomGame() {
needToBroadcastServerSettings = false;
needToRepublishToMasterserver = false;
BaseThread::shutdownAndWait(publishToMasterserverThread);
//BaseThread::shutdownAndWait(publishToMasterserverThread);
delete publishToMasterserverThread;
publishToMasterserverThread = NULL;
safeMutex.ReleaseLock();
@ -340,7 +340,7 @@ void MenuStateCustomGame::returnToParentMenu(){
needToBroadcastServerSettings = false;
needToRepublishToMasterserver = false;
BaseThread::shutdownAndWait(publishToMasterserverThread);
//BaseThread::shutdownAndWait(publishToMasterserverThread);
delete publishToMasterserverThread;
publishToMasterserverThread = NULL;
@ -385,7 +385,7 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton){
MutexSafeWrapper safeMutex(&masterServerThreadAccessor);
needToBroadcastServerSettings = false;
needToRepublishToMasterserver = false;
BaseThread::shutdownAndWait(publishToMasterserverThread);
//BaseThread::shutdownAndWait(publishToMasterserverThread);
delete publishToMasterserverThread;
publishToMasterserverThread = NULL;
@ -440,7 +440,7 @@ void MenuStateCustomGame::mouseClick(int x, int y, MouseButton mouseButton){
needToBroadcastServerSettings = false;
needToRepublishToMasterserver = false;
BaseThread::shutdownAndWait(publishToMasterserverThread);
//BaseThread::shutdownAndWait(publishToMasterserverThread);
delete publishToMasterserverThread;
publishToMasterserverThread = NULL;
safeMutex.ReleaseLock();

View File

@ -194,7 +194,7 @@ MenuStateMasterserver::~MenuStateMasterserver() {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
BaseThread::shutdownAndWait(updateFromMasterserverThread);
//BaseThread::shutdownAndWait(updateFromMasterserverThread);
delete updateFromMasterserverThread;
updateFromMasterserverThread = NULL;
@ -241,7 +241,7 @@ void MenuStateMasterserver::mouseClick(int x, int y, MouseButton mouseButton){
MutexSafeWrapper safeMutex(&masterServerThreadAccessor);
soundRenderer.playFx(coreData.getClickSoundB());
BaseThread::shutdownAndWait(updateFromMasterserverThread);
//BaseThread::shutdownAndWait(updateFromMasterserverThread);
delete updateFromMasterserverThread;
updateFromMasterserverThread = NULL;
@ -259,7 +259,7 @@ void MenuStateMasterserver::mouseClick(int x, int y, MouseButton mouseButton){
MutexSafeWrapper safeMutex(&masterServerThreadAccessor);
soundRenderer.playFx(coreData.getClickSoundB());
needUpdateFromServer = false;
BaseThread::shutdownAndWait(updateFromMasterserverThread);
//BaseThread::shutdownAndWait(updateFromMasterserverThread);
delete updateFromMasterserverThread;
updateFromMasterserverThread = NULL;
safeMutex.ReleaseLock();
@ -460,7 +460,7 @@ void MenuStateMasterserver::connectToServer(string ipString)
//config.setString("ServerIp", serverIp.getString());
//config.save();
BaseThread::shutdownAndWait(updateFromMasterserverThread);
//BaseThread::shutdownAndWait(updateFromMasterserverThread);
delete updateFromMasterserverThread;
updateFromMasterserverThread = NULL;
safeMutex.ReleaseLock();