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 { |