171 TRAP( leaveCode, ret = DoExtFuncL( aTsyReqHandle, aIpc, |
171 TRAP( leaveCode, ret = DoExtFuncL( aTsyReqHandle, aIpc, |
172 aPackage ); ); |
172 aPackage ); ); |
173 |
173 |
174 if ( KErrNone != leaveCode ) |
174 if ( KErrNone != leaveCode ) |
175 { |
175 { |
176 ReqCompleted( aTsyReqHandle, leaveCode ); |
176 // reset request handle to indicate the request is no longer ongoing |
|
177 iTsyReqHandleStore->FindAndResetTsyReqHandle(aTsyReqHandle); |
|
178 ReqCompleted( aTsyReqHandle, leaveCode ); |
177 } |
179 } |
178 |
180 |
179 // save request handle |
181 // save request handle |
180 if ( EMultimodeBroadcastReqHandleUnknown != iReqHandleType ) |
182 else if ( EMultimodeBroadcastReqHandleUnknown != iReqHandleType ) |
181 { |
183 { |
182 #ifdef REQHANDLE_TIMER |
184 #ifdef REQHANDLE_TIMER |
183 SetTypeOfResponse( iReqHandleType, aTsyReqHandle ); |
185 SetTypeOfResponse( iReqHandleType, aTsyReqHandle ); |
184 #else |
186 #else |
185 //Never comes here ? See SetTypeOfResponse. |
187 //Never comes here ? See SetTypeOfResponse. |
186 iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, |
188 iTsyReqHandleStore->SetTsyReqHandle( iReqHandleType, |
187 aTsyReqHandle ); |
189 aTsyReqHandle ); |
188 #endif // REQHANDLE_TIMER |
190 #endif // REQHANDLE_TIMER |
189 // We've finished with this value now. Clear it so it doesn't leak |
|
190 // up to any other instances of this method down the call stack |
|
191 iReqHandleType = EMultimodeBroadcastReqHandleUnknown; |
|
192 } |
191 } |
|
192 // We've finished with this value now. Clear it so it doesn't leak |
|
193 // up to any other instances of this method down the call stack |
|
194 iReqHandleType = EMultimodeBroadcastReqHandleUnknown; |
193 break; |
195 break; |
194 } |
196 } |
195 |
197 |
196 return ret; |
198 return ret; |
197 } |
199 } |