watchdog/src/watchdog.cpp
branchRCL_3
changeset 8 50de4d668bb6
parent 7 3cebc1a84278
child 12 9f21bab39f42
equal deleted inserted replaced
7:3cebc1a84278 8:50de4d668bb6
    96     PRINT(_L("CWatchdog::Start()"));
    96     PRINT(_L("CWatchdog::Start()"));
    97 
    97 
    98     // Double check that harvester server is not already running
    98     // Double check that harvester server is not already running
    99     TFullName name;
    99     TFullName name;
   100     TInt res( KErrNone );
   100     TInt res( KErrNone );
   101         
   101    
   102     // find Harvester Server
   102     // find really Harvester Server, using TFindServer to avoid logon a dead process
       
   103     TFindServer findServer( KHarvesterServerProcess );
       
   104     if ( findServer.Next(name) == KErrNone )
       
   105         {
       
   106         TFindProcess findProcess( KHarvesterServerProcess );
       
   107         if ( findProcess.Next(name) == KErrNone )
       
   108             {
       
   109             PRINT(_L("CWatchdog::Start() - server already running, start listening"));
       
   110             
       
   111             iProcess.Close();
       
   112             res = iProcess.Open(name);
       
   113             if ( res != KErrNone )
       
   114                 {
       
   115                 PRINT(_L("CWatchdog::Start() - error in starting listening "));
       
   116                 return;
       
   117                 }
       
   118             iState = EWaitingRendezvous;
       
   119             SetActive();
       
   120             return;
       
   121             }
       
   122         }  
       
   123     
       
   124     // close the panic process
   103     TFindProcess findProcess( KHarvesterServerProcess );
   125     TFindProcess findProcess( KHarvesterServerProcess );
   104     if ( findProcess.Next(name) == KErrNone )
   126     if ( findProcess.Next(name) == KErrNone )
   105         {                
   127         {                
   106         PRINT(_L("CWatchdog::Start() - server already running, start listening"));
       
   107         
       
   108         iProcess.Close();
   128         iProcess.Close();
   109         res = iProcess.Open(name);
   129         }
   110         if ( res != KErrNone )
   130 
   111             {
       
   112             PRINT(_L("CWatchdog::Start() - error in starting listening "));
       
   113             return;
       
   114             }
       
   115         iState = EWaitingRendezvous;   
       
   116         SetActive();
       
   117         return;
       
   118         }        
       
   119     
       
   120     // Create the server process
   131     // Create the server process
   121     // KNullDesC param causes server's E32Main() to be run
   132     // KNullDesC param causes server's E32Main() to be run
   122     res = iProcess.Create( KHarvesterServerExe, KNullDesC );
   133     res = iProcess.Create( KHarvesterServerExe, KNullDesC );
   123     if ( res != KErrNone )
   134     if ( res != KErrNone )
   124         {
   135         {