--- a/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplconnection.cpp Fri Feb 19 23:14:27 2010 +0200
+++ b/supl/locationsuplfw/protocolhandlerapi/src/epos_csuplconnection.cpp Fri Mar 12 15:44:22 2010 +0200
@@ -406,12 +406,14 @@
}
// Socket Connect has completed
case EConnecting:
+ iTimer->Cancel(); // Valid SUPL server, Cancel timer started for this purpose
if(iStatus == KErrNone)
{
if(iVariantEnabled)
{
iTrace->Trace(_L("CSuplConnection::RunL Making Secure Connection"), KTraceFileName, __LINE__);
iState = EMakingSecureConn;
+
MakeSecureConnection();
}
else
@@ -603,7 +605,7 @@
{
// Log
iTrace->Trace(_L("CSuplConnection::CancelConnect"), KTraceFileName, __LINE__);
-
+ iTimer->Cancel(); // Cancel all timers
if (iConnArray.Count() > 1)
{
CompleteConnectCancel(aStatus);
@@ -774,7 +776,17 @@
{
iResolver.Cancel();
break;
- }
+ }
+ case EConnecting:
+ {
+ iState = EFailure;
+ iSocket.Close();
+ #ifndef __WINS__ // Bug Fix for close connection
+ // Close the RConnection
+ iConnection.Close();
+ #endif
+ break;
+ }
default:
{
if(iVariantEnabled)
@@ -1143,6 +1155,7 @@
iTrace->Trace(_L("CSuplConnection::Connect(void)"), KTraceFileName, __LINE__);
iState = EConnecting;
+ iTimer->Start(4000000); // For DNS pass case , but not a valid SUPL server
iSocket.Connect(iAddress, iStatus);
SetActive();
}