[Live-devel] bug in BasicTaskScheduler.cpp ?

Ross Finlayson finlayson at live555.com
Tue Nov 11 06:32:18 PST 2008


>>That doesn't matter, because *TCP* packets will still be arriving 
>>(on the TCP socket), and will be handled.  This is a Red Herring.
>No, that TCP socket has been closed - and the corresponding socket 
>ID refers occasionally to an UDP socket within the same call to 
>SingleStep - if it was a red herring the TaskScheduler was not going 
>to be stuck. That's a fact, not an argument. I have debugged a real 
>problem, not imagined one.

I have no doubt that your problem is real.  However, your proposed 
solution - messing with the "BasicTaskScheduler" code - appears to be 
merely masking your real problem: That incorrect socket numbers are 
getting passed to the call to "select()" in the event loop.

You should make sure that 
"TaskScheduler::turnOffBackgroundReadHandling()" gets called on each 
socket once it's no longer being used (before its number gets 
reclaimed for another socket).  There's apparently something about 
your custom code that is causing that not to happen for some sockets.
-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/


More information about the live-devel mailing list