RFR: 8309475: Test java/foreign/TestByteBuffer.java fails: a problem with msync (aix)
Tyler Steele
tsteele at openjdk.org
Tue Jul 25 14:30:11 UTC 2023
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()
-------------
Depends on: https://git.openjdk.org/jdk/pull/14963
Commit messages:
- Maintain linux-specific definition for minicore_vec_t
- Separate AIX MappedMemoryUtils to new file. Add force0 implementation
- Replace vm_page_size call with sysconf(_SC_PAGESIZE) in javaClasses.cpp
Changes: https://git.openjdk.org/jdk/pull/14964/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14964&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8309475
Stats: 233 lines in 2 files changed: 210 ins; 23 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/14964.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/14964/head:pull/14964
PR: https://git.openjdk.org/jdk/pull/14964
More information about the nio-dev
mailing list