ENVIRONMENT:
I am running the Series 60 SDK version 6.1 distributed by Nokia on Windows
XP Pro.
===========================================
PROBLEM:
The following code snipt is running within the RunTestsL() method of the
Testframe example (simple client code acting as a unit test framework).
When I run the sockets example I have no problems connecting to the internet
although I am prompted with a dialogue asking me to pick which access point
I would like, "NT RAS" or "Linux RAS".
When I run the code below, the emulator fails to get past the access point
selection dialgoue. It simply hangs with the access point dialogue still
displayed even after I attempt to make a selection. (I do notice a small
amount of data transfer in m-Router Lite's window once I click on "NT RAS"
in the access point dialogue.)
Furthermore, the socket engine iStatus is never signaled, rather my test
utility method waiting on iStatus times out.
Can anyone provide guidance?
=============================================
MY LIMITED DIAGNOSIS:
I suspect my problem somehow relates to a piece of framework code that never
has an opportunity to completely process the access point dialogue
selection.
I am yet to try modifying the test code to create a separate thread before
invoking the socketEngine. The testframe code contains no active objects
and creates no threads of its own.
I wonder if somehow eliminating the need for the access point dialogue would
make the problem go away. I have another post asking how to remove "Linux
RAS" from the comms database since my attempts so far have failed.
waitStatus = CTestExecutor::TimedWaitForRequest(socketsEngine->iStatus,
waitTime); //It is during this waiting that the access point dialogue and
the activity in m-Router Lite is seen.
//waitStatus is returning with a value of KRequestTimedOut
CleanupStack::PopAndDestroy(testNotifier);
CleanupStack::PopAndDestroy(socketsEngine);
=============================================
DEFINITION OF UTILITY METHOD SEEN USED ABOVE {just a fancy
User::WaitForRequest(TRequestStatus)}:
The Series 60 SDK V1.0 for Symbian OS does not support Windows XP. It might work somehow but unexpected problems could be rised at anytime anywhere in that working environment.
Regards,
FN Developer Support
RE: Why is client code to CSocketEngine hanging at Access Point dialogue?
2003-03-11, 11:16#3
I suspect it may be to do with the way you are using active objects. You shouldn't be calling User::WaitForRequest() on the iStatus of the socket engine (or any other active object). After calling the ConnectL() any further processing should be done in the socket engine RunL() method.