syncmlfw/dm/treemodule/src/nsmldmhostclient.cpp
changeset 73 ae69c2e8bc34
parent 0 b497e44ab2fc
--- a/syncmlfw/dm/treemodule/src/nsmldmhostclient.cpp	Tue Sep 28 17:53:08 2010 +0530
+++ b/syncmlfw/dm/treemodule/src/nsmldmhostclient.cpp	Fri Oct 15 11:46:45 2010 +0530
@@ -105,8 +105,24 @@
 			{
 			result = CreateSession( aServerName, ver );
 			}
-		}
+			else if ( result == KErrAlreadyExists )
+			{
+				TInt retryCount = 3;
+				
+				while ( result != KErrNone && retryCount )
+				{
+					result = CreateSession( aServerName, ver );
+					if( result != KErrNone )
+					{
+					 // wait 1.5 seconds to give the server a chance to reach its serviceable state
+					 User::After( 1500000 );
+					 --retryCount;
+					}
+				}
+			}
+		}	
 	
+  User::LeaveIfError( result );	
 	return result; 
 	}