RFR: 7131399: Poll system call appears to be broken on Mac OS [macosx]
Chris Hegarty
chris.hegarty at oracle.com
Tue Jan 24 02:23:19 PST 2012
I'm OK with this as it, but here are a few comments:
The logic around the initial setting of the timeout seems a little
unnecessary (and the additional pointer), but not wrong.
The comments should also be updated.
Given this problem should the build be setting USE_SELECT?
-Chris.
On 01/23/12 10:32 PM, Michael McMahon wrote:
> On 23/01/12 21:30, Alan Bateman wrote:
>> On 23/01/2012 17:09, Michael McMahon wrote:
>>> Can I get the following change reviewed please?
>>>
>>> http://cr.openjdk.java.net/~michaelm/7131399/webrev.1/
>>>
>>> The problem is that poll(2) doesn't seem to work in a specific edge
>>> case tested by JCK,
>>> namely, when a zero length UDP message is sent on a DatagramSocket.
>>> The problem is only
>>> detected on timed reads, ie. normal blocking reads work fine.
>>>
>>> The fix is to make the NET_Timeout() function use select() instead of
>>> poll().
>>>
>>> Thanks,
>>> Michael.
>>>
>> The first argument to select is s+1, shouldn't is be 1?
>>
>> -alan
> No, I don't think so. fd_sets are bit masks and you have to specify the
> highest numbered bit in the
> mask (+1).
>
> - Michael.
More information about the net-dev
mailing list