RFR: 8309475: Test java/foreign/TestByteBuffer.java fails: a problem with msync (aix)

Alan Bateman alanb at openjdk.org
Wed Jul 26 07:45:52 UTC 2023


On Thu, 20 Jul 2023 20:55:36 GMT, Tyler Steele <tsteele at openjdk.org> wrote:

> This change adds additional support to MappedByteBuffer::force which delegates to msync on AIX. Specifically, it checks whether and error with errno set to EINVAL is the cause of a msync call to an address mmapped with the MAP_PRIVATE flag set. If this flag is set, then the msync call EINVAL is expected, and can be ignored as per the Java documentation of the force method.
> 
>> In particular, the method has no effect for buffers mapped in read-only or private mapping modes. [1]
> 
> Separated into separate file as per recommendation by @AlanBateman.
> 
> [1] https://download.java.net/java/early_access/jdk21/docs/api/java.base/java/nio/MappedByteBuffer.html#force()

It's good that this doesn't clutter the Unix implementation of these methods with a lot of AIX-specific code. However, part of me wonders if force should special case the read-only or private mapping cases so that it's just a no-op, need to think about that one as the MBB implementation doesn't know if the mapping is read-write or private.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/14964#issuecomment-1651152630


More information about the nio-dev mailing list