equal
deleted
inserted
replaced
203 */ |
203 */ |
204 void CEtelDriverFactory::FreePdp(TContextId aPdpId) |
204 void CEtelDriverFactory::FreePdp(TContextId aPdpId) |
205 { |
205 { |
206 |
206 |
207 SPUDTELVERBOSE_INFO_LOG1(_L("Free pdp id : %d"), aPdpId); |
207 SPUDTELVERBOSE_INFO_LOG1(_L("Free pdp id : %d"), aPdpId); |
208 // the context has to be closed before a call to FreePdp |
208 // In an OOM situation, this object may be cleaned up prior to establishment. |
209 __ASSERT_ALWAYS(!Context(aPdpId).PacketContext().SubSessionHandle(), User::Panic(KTxtSpudTel, KErrInUse)); |
209 if (iContexts[aPdpId] != NULL) |
210 |
210 { |
211 delete iContexts[aPdpId]; |
211 // the context has to be closed before a call to FreePdp |
212 iContexts[aPdpId] = NULL; |
212 __ASSERT_ALWAYS(!Context(aPdpId).PacketContext().SubSessionHandle(), User::Panic(KTxtSpudTel, KErrInUse)); |
213 |
213 delete iContexts[aPdpId]; |
|
214 iContexts[aPdpId] = NULL; |
|
215 } |
214 } |
216 } |
215 |
217 |
216 |
218 |
217 /** starts etel notifications for pdp context |
219 /** starts etel notifications for pdp context |
218 |
220 |