This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients gvanrossum, neologix, vstinner
Date 2014-02-07.16:54:38
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1391792079.19.0.562571299697.issue20505@psf.upfronthosting.co.za>
In-reply-to
Content
"Let me state this last point once again: no busy loop can occur now that timeouts are rounded up."

Agreed. The busy loop issue was solved by rounding the timeout away from zero in select and selectors module.

"Sure, some syscalls, on some OS, can sometimes return a little bit earlier than expected, e.g. epoll can return after 0.98ms instead of 1ms. But that's not an issue, if that's the case you'll just loop an extra time, *all* event loops just work this way."

I would like to avoid this *useless* loop, because such case can be common. What's the point of polling again? We just polled all file descriptors.

In msg209772: I saw on "x86 Gentoo 3.x" that "waiting 99.9 ms took 99.6 ms and 99.9 ms, and waiting 9.9 ms took 9.7 ms."

But I remember that I saw larger difference, but I don't remember in which state the code was. So let's get more data from buildbots: I add again the "dt < timeout" message.
History
Date User Action Args
2014-02-07 16:54:39vstinnersetrecipients: + vstinner, gvanrossum, neologix
2014-02-07 16:54:39vstinnersetmessageid: <1391792079.19.0.562571299697.issue20505@psf.upfronthosting.co.za>
2014-02-07 16:54:39vstinnerlinkissue20505 messages
2014-02-07 16:54:38vstinnercreate