On Tue, 14 Oct 2025 10:38:01 GMT, Darragh Clarke <[email protected]> wrote:

> This PR was originally part of #25546, though that PR has been split in 2, 
> the first chunk was https://github.com/openjdk/jdk/pull/27590.
> 
> This PR aims to convert KQueue to use FFM apis, the first PR in this area 
> added all the jextract generated code needed, while this PR modifies some of 
> the jextract code and then uses it with Kqueue.
> 
> A brief rundown of the changes:
> - The files `errno_h$shared.java` , `kqueue_h$shared.java`, 
> `timespec_h$shared.java` and `timespec_h.java` have all been deleted. This is 
> because they all contained shared elements that could be moved into the 
> Utility file `FFMUtils.java`
> - `Kqueue.c` has been deleted, and all native methods in the other `KQueue` 
> files have been replaced with references to the generated files kevent and 
> kqueue. This is the bulk of the changes
> - Both the `Kqueue()` and `Kevent()` methods in `kqueue_h.java`  were 
> modified to use adapted method handles that will return the errno value

src/java.base/macosx/classes/jdk/internal/ffi/generated/kqueue/kqueue_h.java 
line 154:

> 152:         public static final MethodHandle HANDLE = 
> Linker.nativeLinker().downcallHandle(ADDR, DESC,
> 153:                 Linker.Option.captureCallState(ERRNO_NAME));
> 154:         public static final MethodHandle ADAPTED =  
> CaptureStateUtil.adaptSystemCall(HANDLE, ERRNO_NAME);

Suggestion:

        public static final MethodHandle ADAPTED = 
CaptureStateUtil.adaptSystemCall(HANDLE, ERRNO_NAME);

src/java.base/macosx/classes/sun/nio/ch/KQueue.java line 134:

> 132:     }
> 133: 
> 134:     static public int poll(int kqfd, MemorySegment pollAddress, int 
> nevents, long timeout) {

Let's use blessed modifiers order
Suggestion:

    public static int poll(int kqfd, MemorySegment pollAddress, int nevents, 
long timeout) {

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27796#discussion_r2431609571
PR Review Comment: https://git.openjdk.org/jdk/pull/27796#discussion_r2431612250

Reply via email to