featuremgmt/featuremgr/src/serverexe/featmgrsession.cpp
branchRCL_3
changeset 9 667e88a979d7
parent 8 fa9941cf3867
--- a/featuremgmt/featuremgr/src/serverexe/featmgrsession.cpp	Fri Mar 12 15:51:02 2010 +0200
+++ b/featuremgmt/featuremgr/src/serverexe/featmgrsession.cpp	Mon Mar 15 12:46:30 2010 +0200
@@ -143,7 +143,18 @@
         else
             {
             INFO_LOG( "CFeatMgrSession::ServiceL() - plugins not ready" );
-            iList.AddLast( *CFeatMgrPendingRequest::NewL( aMessage ) );
+            CFeatMgrPendingRequest* request=NULL;
+            TRAPD(error,request=CFeatMgrPendingRequest::NewL( aMessage ));
+            if (error!=KErrNone)
+              {
+              LOG_IF_ERROR1( error, "CFeatMgrSession::ServiceL(): Error in Adding Pending Request: %d", error );
+              //cannot create pending request so need to indicate to the client rather than letting the cient wait forever.
+              aMessage.Complete(error);              
+              }
+            else
+              {
+              iList.AddLast(*request);
+              }
             }
         }
     else
@@ -537,6 +548,8 @@
 
 #ifdef EXTENDED_FEATURE_MANAGER_TEST
     	    
+#pragma BullseyeCoverage off
+    	    
         case EFeatMgrResourceMark:
             ResourceCountMarkStart();
             break;
@@ -586,7 +599,10 @@
             aMessage.WriteL( 0, resPckg );
     	    
     	    break;
-    	    }    
+    	    }
+    	    
+#pragma BullseyeCoverage on
+    	    
 #endif
 
         // Cannot identify the message.