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/
_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to