On Wed, 15 Oct 2025 08:29:47 GMT, Andrey Turbanov <[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/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) { I assume "public" was added by mistake, this is not a public class, instead it's means to be a simpler wrapper on kqueue for the Selector, Port and Poller implementations in the macOS specific sun.nio.ch. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/27796#discussion_r2431679711
