equal
deleted
inserted
replaced
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 |