--- a/videoscheduler/SchedulerServer/src/CCseSchedulerServer.cpp Tue Jan 26 12:55:56 2010 +0200
+++ b/videoscheduler/SchedulerServer/src/CCseSchedulerServer.cpp Thu Nov 04 11:29:04 2010 +0200
@@ -168,13 +168,14 @@
CTrapCleanup* cleanupStack = CTrapCleanup::New();
if ( !cleanupStack )
{
- PanicServer( ECseCreateTrapCleanup );
+ CSELOGSTRING_HIGH_LEVEL("CCseSchedulerServer::ThreadFunction - Could not create cleanupstack: %d");
+ return KErrNone;
}
TRAPD( err, ThreadFunctionL( ) );
if ( err )
{
- PanicServer( ECseSrvCreateServer );
+ CSELOGSTRING2_HIGH_LEVEL("CCseSchedulerServer::ThreadFunction - Main thread leaved: %d", err );
}
delete cleanupStack;
@@ -300,17 +301,21 @@
void CCseSchedulerServer::DeleteSchedulerEngine()
{
CSELOGSTRING_HIGH_LEVEL(">>>CCseSchedulerServer::DeleteSchedulerEngine");
-
+
if ( iContainerIx )
{
- iSchedulerEngine->Close();
+ if( iObjectCon->Count() > 0 )
+ {
+ iSchedulerEngine->Close();
+ }
+
iContainerIx->Remove( iObjectCon );
delete iContainerIx;
iContainerIx = NULL;
iSchedulerEngine = NULL;
}
-
- if( iStarterBreaker->IsActive() )
+
+ if( iStarterBreaker && iStarterBreaker->IsActive() )
{
iStarterBreaker->Cancel();
}