On Tue, 19 Aug 2025 13:18:49 GMT, Darragh Clarke <[email protected]> wrote:

>> This PR aims to Panamize the Java Kqueue implementation, This is based on 
>> the work that was previously shared in 
>> https://github.com/openjdk/jdk/pull/22307 , The main change since then is 
>> that this branch takes advantage of the changes made in 
>> https://github.com/openjdk/jdk/pull/25043 to allow for better performance 
>> during errno handling.
>> 
>> These changes feature a lot of Jextract generated files, though alterations 
>> have been made in relation to Errno handling and performance improvements.
>> 
>> I will update this description soon to include performance metrics on a few 
>> microbenchmarks, though currently it's roughly 2% to 3% slower with the 
>> changes, which is somewhat expected, though there are still a few ideas of 
>> possible performance improvements that could be tried. Any suggestions or 
>> comments in that area are more than welcome however.
>
> Darragh Clarke has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   implementing feedback, adding missing errno checks, cleanup

src/java.base/macosx/classes/sun/nio/ch/KQueuePoller.java line 50:

> 48:                     "kqueue failed");
> 49:         }
> 50:         this.kqfd = res;

Maybe this duplicated check should probably be moved into a common method in 
`KQueue`, like the old `KQueue.create()` method, but implemented in **Java**:

static int create() throws IOException {
        int res = kqueue_h.kqueue();
        if (res < 0) {
                throw ErrnoUtils.IOExceptionWithErrnoString(-res, "kqueue 
failed");
        }
        return res;
}

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

PR Review Comment: https://git.openjdk.org/jdk/pull/25546#discussion_r2285879853

Reply via email to