Added mutex guards around logging

This commit is contained in:
Mark Vejvoda
2010-05-01 09:10:52 +00:00
parent a911088d39
commit e379905942
7 changed files with 56 additions and 30 deletions

View File

@@ -120,7 +120,6 @@ void Program::ShowMessageProgramState::update() {
Program::Program() {
programState= NULL;
singleton = this;
soundThreadManager = NULL;
}
@@ -165,7 +164,7 @@ Program::~Program(){
singleton = NULL;
BaseThread::shutdownAndWait(soundThreadManager);
delete soundThreadManager;
delete soundThreadManager;
soundThreadManager = NULL;
}
@@ -205,7 +204,9 @@ void Program::loop(){
//SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s %d]\n",__FILE__,__FUNCTION__,__LINE__);
//!!!SoundRenderer::getInstance().update();
if(soundThreadManager == NULL) {
SoundRenderer::getInstance().update();
}
//SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s %d]\n",__FILE__,__FUNCTION__,__LINE__);
@@ -363,10 +364,13 @@ void Program::init(WindowGl *window, bool initSound, bool toggleFullScreen){
SoundRenderer &soundRenderer= SoundRenderer::getInstance();
soundRenderer.init(window);
BaseThread::shutdownAndWait(soundThreadManager);
delete soundThreadManager;
soundThreadManager = new SimpleTaskThread(&SoundRenderer::getInstance(),0,50);
soundThreadManager->start();
// Run sound streaming in a background thread if enabled
if(config.getBool("ThreadedSoundStream","true") == true) {
BaseThread::shutdownAndWait(soundThreadManager);
delete soundThreadManager;
soundThreadManager = new SimpleTaskThread(&SoundRenderer::getInstance(),0,50);
soundThreadManager->start();
}
}
NetworkInterface::setAllowGameDataSynchCheck(Config::getInstance().getBool("AllowGameDataSynchCheck","0"));