[Live-devel] bug in BasicTaskScheduler.cpp ?

Ross Finlayson finlayson at live555.com
Wed Nov 12 04:47:23 PST 2008


Ahh..., now that you've explained your problem once again, I now 
understand the issue: The alarm handler is (in your case) causing 
"fReadSet" to be modified, so that it no longer accurately reflects 
the set of readable sockets that had been previously passed to 
"select()", and produced (as "readSet") as a result of this 
"select()" call.

We ran into a similar situation a few years ago, when we were calling 
multiple event handlers (in a loop) during each call to 
"SingleStep()" - and that's why we changed the code then to call only 
one event handler at a time from "SingleStep()".

I hadn't anticipated that an alarm handler might also cause a similar 
problem - but in your case, that's wha's happening.

Your proposed solution - moving the call to "handleAlarm()" after the 
call to the event handler - should solve the problem.  This will be 
fixed in the next release of the software.  Thanks for tracking down 
this problem.

-- 

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


More information about the live-devel mailing list