[Live-devel] Symbian Porting: Step By Step
Ross Finlayson
finlayson at live.com
Thu Sep 9 11:44:48 PDT 2004
At 08:05 AM 9/9/04, you wrote:
>\ BasicTaskScheduler::SingleStep()
> Groupsock::handleRead()
> blockUntilReadable(); // Freeze Here - it is
> waiting for data.
> timeout = NULL - Is it right? Does it
> need the timeout here? I think so!
When you see this, exactly where is "Groupsock::handleRead()" being called
from? It is usually called from within a 'network read handler' function,
which in turn was called from within the event loop
("BasicTaskScheduler::SingleStep()"). The only way a handler function can
be called from within the event loop is if incoming data is available for
the socket. If this is the case, though, then the call to
"blockUntilReadable()" should return immediately, because it has already
been reported that data is available.
>I think that can have something wrong with Select(). What do you think?
If what you are reporting is correct, then there may well be a problem with
your OS's "select()" implementation, in which case I can't really help you
(it's an OS issue).
But first, find out for sure:
1/ Does "MultiFramedRTPSource::networkReadHandler()" get called?
2/ If 1/ is true, then does the blocking occur in the subsequent call to
"RTPInterface::handleRead()" (from "BufferedPacket::fillInData()")? If so,
then you have a problem with your OS's "select()".
But if 1/ is not true (i.e., "MultiFramedRTPSource::networkReadHandler()"
never gets called), then the problem is simply that there are no incoming
RTP packets.
>I would like to post the Live.com for Symbian in the sourceforge ... Can I
>do it?
If you are adding generic functionality to the libraries, then it would be
better to post the changes to this mailing list, so they can get folded
into future releases.
Ross Finlayson
LIVE.COM
<http://www.live.com/>
More information about the live-devel
mailing list