diff -r 43d09473c595 -r 128eb6a32b84 mmserv/tms/tmsserver/src/tmsserver.cpp --- a/mmserv/tms/tmsserver/src/tmsserver.cpp Fri May 14 16:22:35 2010 +0300 +++ b/mmserv/tms/tmsserver/src/tmsserver.cpp Thu May 27 13:20:50 2010 +0300 @@ -45,12 +45,11 @@ // // ----------------------------------------------------------------------------- // -TMSServer* TMSServer::NewL() +TMSServer* TMSServer::NewLC() { TMSServer* self = new (ELeave) TMSServer; CleanupStack::PushL(self); self->ConstructL(); - CleanupStack::Pop(self); return self; } @@ -1292,21 +1291,24 @@ } // ----------------------------------------------------------------------------- -// RunServerL +// TMSServer::RunServerL // // ----------------------------------------------------------------------------- // -static void RunServerL() +void TMSServer::RunServerL() { TRACE_PRN_N(_L("TMS->RunServerL")); + // Naming the server thread after the server helps to debug panics + User::LeaveIfError(User::RenameThread(KTMSServerName)); + // Create and install the active scheduler we need CActiveScheduler* scheduler = new (ELeave) CActiveScheduler; CleanupStack::PushL(scheduler); CActiveScheduler::Install(scheduler); // Create the server (leave it on the cleanup stack) - TMSServer* server = TMSServer::NewL(); + TMSServer* server = TMSServer::NewLC(); // Initialisation complete, now signal the client RProcess::Rendezvous(TMS_RESULT_SUCCESS); @@ -1316,7 +1318,7 @@ // Ready to exit. // Cleanup scheduler and delete the server - delete server; + CleanupStack::PopAndDestroy(server); CleanupStack::PopAndDestroy(scheduler); TRACE_PRN_N(_L("TMS->RunServerL - TMS server closed")); @@ -1565,7 +1567,7 @@ TInt r = KErrNoMemory; if (cleanup) { - TRAP(r, RunServerL()); + TRAP(r, TMSServer::RunServerL()); delete cleanup; } __UHEAP_MARKEND;