On Tue, 6 May 2008 08:44:36 -0700 (PDT), Giles Brown <[EMAIL PROTECTED]> wrote:
On 6 May, 14:18, Jean-Paul Calderone <[EMAIL PROTECTED]> wrote:
On Tue, 6 May 2008 08:36:28 -0400, inhahe <[EMAIL PROTECTED]> wrote:
>select.poll isn't supported on Windows, because Windows doesn't have such a
>feature, or at least it didn't until Vista. Vista implements the same thing
>but called WSAPoll, an article is here
>http://blogs.msdn.com/wndp/archive/2006/10/26/WSAPoll.aspx
>I hope that the next edition of Python supports select.poll on Vista, or at
>least that someone writes a third-party module fo it. As much as I'd love to
>do it myself, it's probably beyond me.. i've never used poll before nor
>written a Python extension. also, i don't have Vista.
>Thanks
If you use Twisted, then you can use I/O Completion Ports, which are even
better than WSAPoll, and your code will also work with KQueue on BSD or
EPoll on Linux without any changes. :)
Jean-Paul
The current docs describe the I/O Completion Ports reactor as
"extremely experimental".
http://twistedmatrix.com/projects/core/documentation/howto/choosing-reactor.html#auto8
Is that overly conservative or is it as bleeding edge as it sounds?
(IIRC there have been caveats like this on the Windows reactors for
a while)
With the most recent release, the IOCP reactor is in much better shape than
it ever has been before. It's not perfect, but it fails fewer than 10 unit
tests from the Twisted suite (of almost 4300). The goal, of course, is for
it to fail none of them. ;) It's possible we'll get there for a release in
the not too distant future.
The current results of the test suite are available at this extremely pretty
URL:
http://buildbot.twistedmatrix.com/waterfall?builder=win32-py2.4-iocp&builder=winxp32-py2.5-iocp&builder=vista-py2.5-iocp&builder=server-2k8-x86-py2.5-iocp&branch=trunk
So I'd call it "almost working" rather than "extremely experimental" at this
point. Thanks for bringing this up, we should probably adjust our docs. :)
Jean-Paul
--
http://mail.python.org/mailman/listinfo/python-list