On Thu, 30 Apr 2026 11:45:49 GMT, Michael McMahon <[email protected]> wrote:
>> Hi, >> >> This is a small fix for j.l.ProcessHandle on MacOS. Unlike other platforms, >> Mac returns a ProcessHandle for pid 0 whose descendants are _all_ processes >> on the system. This specific scenario tickles an off by one error where the >> descendants method tries to access an element past the end of the array of >> pids. The fix is to break from the loop before accessing this element. >> >> Thanks, >> >> Michael >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Michael McMahon has updated the pull request incrementally with two > additional commits since the last revision: > > - patch from rriggs (modified slightly) > - patch contributed by rriggs src/java.base/share/classes/java/lang/ProcessHandleImpl.java line 317: > 315: public Optional<ProcessHandle> parent() { > 316: long ppid = parent0(pid, startTime); > 317: if (ppid <= 0) { Note that `ProcessHandleImpl::parent()` also needs to correctly handle a parent PID of `0`: Suggestion: if (ppid < 0 || ppid == pid) { Refs: https://github.com/openjdk/jdk/pull/30923/files/4cb921490631363188d75a84810b6150fc827aa1..9f1f6e72e9a5ba96e9cad416dfe402081ef0fdf0 ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/30763#discussion_r3168617517
