Looking at the code, _SignalReactorMixin.mainLoop() takes the output of ReactorBase.timeout() and passes it to doIteration(). The implementation of doIteration() in PollReactor passes the value straight through to poll(). If there is any kind of timed call pending (which there is), the timeout value counts down. Eventually it gets very close to zero. If there is a burst of AMP activity around that time, there's a good chance that the one of the poll() calls will time out.
How this leads to the data being lost is another question, but the coincidence of events is too much to ignore. Peter.
_______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python