Dear Nokians,

please help me with the following problem...

When initializing a socket connection, I construct:
- RSocketServ,
- RConnection,
- RHostResolver,
- RSocket
in this order. All operations that can be done in asynchronous way, well, are.

One of those operations is RConnection::Start(TConnPref& aPref, TRequestStatus& aStatus).

First of all: is there any way how to change the default timeout on this operation? When the current level of mobile signal is bad (but not completely zero), this operation may linger for half eternity before giving up and returning an error. OK, it is not really "half eternity", but at least 30, and sometimes over 60 seconds. I would like to limit it to, say, 10 seconds, since it rarely succeeds after that time.

Second, how to cancel the operation? When I wrap the RConnection into a CActive subclass, and then try to invoke Cancel() on that object when RConnection::Start is active, the whole thread freezes even if the DoCancel() method is empty.