Fixed sync engine.start with client init.

git-svn-id: http://yate.null.ro/svn/yate/trunk@2253 acf43c95-373e-0410-b603-e72c3f656dc1
This commit is contained in:
marian 2008-10-06 13:51:16 +00:00
parent 2fdb637ec6
commit 3cdaf88017
1 changed files with 4 additions and 3 deletions

View File

@ -742,8 +742,9 @@ bool ClientThreadProxy::execute()
// Notify logics
bool EngineStartHandler::received(Message& msg)
{
if (Client::self())
Client::self()->engineStart(msg);
while (!Client::self())
Thread::yield(true);
Client::self()->engineStart(msg);
return false;
}
@ -849,7 +850,6 @@ void Client::run()
{
Debug(ClientDriver::self(),DebugAll,"Client::run() [%p]",this);
ClientLogic::initStaticData();
Engine::install(new EngineStartHandler);
loadUI();
// Run
main();
@ -2716,6 +2716,7 @@ ClientDriver::~ClientDriver()
void ClientDriver::setup()
{
Driver::setup();
Engine::install(new EngineStartHandler);
installRelay(Halt);
installRelay(Progress);
installRelay(Route,200);