Skip to content

IO.select on AIX incorrectly returns sockets as being ready to read from #359

@iconoclast

Description

@iconoclast

When running JRuby on an AIX machine and calling IO.select to check sockets for available data, the return value incorrectly includes sockets that have nothing available to read. For example,
ready = IO.select([sock], [sock], nil, 0)
when sock has no data available for reading, will result in [sock] for ready[0] on AIX while other systems will have an empty array for ready[0].

A simple test can be seen here: https://gist.github.com/3949918

This test script fails on AIX running either java 6 or java 7, but succeeds when running java 5.
The behavior is the same on AIX 5.3 and AIX 6.1 (sorry, I don't have an AIX 7.1 or other PPC system to test with).
The test succeeds as expected on other systems, including a linux (intel, not ppc) box running with IBM's jvm.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions