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

Reply via email to