Message4450

Author amak
Recipients amak, billiejoex, irmen, zyasoft
Date 2009-04-05.20:18:18
SpamBayes Score 1.3631818e-06
Marked as misclassified No
Message-id <1238962700.11.0.356438925365.issue1291@psf.upfronthosting.co.za>
In-reply-to
Content
[Giampaolo]
> This is incorrect since poll() doesn't exist on Windows.

Perhaps the poster has misunderstood. java.nio.channels.Selector is the
only class available on the JVM that permits multiplexing sockets.

java.nio.channels.Selector, the java object, is currently defective on
Windows, because of the bug illustrated.

Jython software using this class will be similarly affected on Windows,
i.e. the jython select module.

There may be a deeper relationship between the facts that 

A. java.nio.channels.Selector has problems on Windows
B. Cpython's select module on Windows does not have a poll object.

But in terms of jython implementation, we're restricted to java classes,
unless we want to go to JNI, which could a very complex undertaking,
that the cpython folks avoided.

I'm beginning to regret supporting the select.select function. It's an
unnatural way to use the java APIs. It seem like a neat solution to the
problem at the time, but I now think goes against the grain of the
intention of the java APIs, especially given the common use cases that
are appearing from cpython.

I think now perhaps that it would have been better to simply support
select.poll objects, to make it clear to the user that select semantics
on jython are different from cpython, and have to be thought of on java
terms.
History
Date User Action Args
2009-04-05 20:18:20amaksetmessageid: <1238962700.11.0.356438925365.issue1291@psf.upfronthosting.co.za>
2009-04-05 20:18:20amaksetrecipients: + amak, irmen, billiejoex, zyasoft
2009-04-05 20:18:19amaklinkissue1291 messages
2009-04-05 20:18:18amakcreate