syncmlfw/common/sosserver_privateapi/src/NSmlPrivateAPI.cpp
changeset 73 ae69c2e8bc34
parent 0 b497e44ab2fc
equal deleted inserted replaced
71:d2517372cc44 73:ae69c2e8bc34
    92 	TInt res = CreateSession( KSOSServerName, version, KDefaultMessageSlots );
    92 	TInt res = CreateSession( KSOSServerName, version, KDefaultMessageSlots );
    93 	
    93 	
    94 	if ( res != KErrNone )
    94 	if ( res != KErrNone )
    95 		{
    95 		{
    96 		res = LaunchServer();
    96 		res = LaunchServer();
    97 		User::LeaveIfError( res );
    97 		if ( res == KErrNone )
    98 		res = CreateSession( KSOSServerName, version, KDefaultMessageSlots );
    98 		{
    99 		}
    99 			res = CreateSession( KSOSServerName, version, KDefaultMessageSlots );
   100 
   100 		}
       
   101 		else if ( res == KErrAlreadyExists )
       
   102 		{
       
   103 			TInt retryCount = 3;
       
   104 				
       
   105 			while ( res != KErrNone && retryCount )
       
   106 			{
       
   107 				res = CreateSession( KSOSServerName, version, KDefaultMessageSlots );
       
   108 				if( res != KErrNone )
       
   109 				{
       
   110 				 // wait 1.5 seconds to give the server a chance to reach its serviceable state
       
   111 				 User::After( 1500000 );
       
   112 				 --retryCount;
       
   113 				}
       
   114 			}
       
   115 		}
       
   116 		}
   101 	User::LeaveIfError( res );
   117 	User::LeaveIfError( res );
   102 	
   118 	
   103 	_DBG_FILE("RNSmlPrivateAPI::OpenL(): end");
   119 	_DBG_FILE("RNSmlPrivateAPI::OpenL(): end");
   104 	}
   120 	}
   105 
   121