after investigating a lot of time, I'm sure it has to be a bug. ;-)
The problem is that RHostResolver::Close() hangs the application thread, if calling...
//called in CSocketEngine:oCancel()
iResolver.Close(); //Hangs the app
...after we had sent an async request...
User::LeaveIfError(iResolver.Open(iSocketServ, KAfInet, KProtocolInetUdp));
iResolver.GetByName(iServerName, iNameEntry, iStatus);
...and before the system has prompted with the IAP-SelectionDialog.
The above Close() does not hang, if it was called after the IAP-SelectionDialog has popped up.
I'm sure that our code works well.
The same code works fine on OS7.0s/S60,OS8.1a/S60 and OS7.0/UiQ, even if
for OS7.0/UiQ the RHostResolver::Cancel() does not cancel the async progress of showing the IAP-SelectionDialog.
I'm not sure, if the problem is only related to RHostResolver, maybe it also happens if working IP based and with RSocket.
It is only reproducible on device and not in emulator.
Please help. Any comments are welcome.
Thank you very much.