On Thu, 12 Oct 2023 09:33:24 GMT, Joachim Kern <[email protected]> wrote:
>> src/java.base/aix/native/libjava/ProcessHandleImpl_aix.c line 89:
>>
>>> 87:
>>> 88: do { // Block to break out of on Exception
>>> 89: pids = (*env)->GetLongArrayElements(env, jarray, NULL);
>>
>> Nit, I'd move these invocations of GLAE into the initialization block and
>> remove the outer loop. I see what you do here, the outer block gives you a
>> reliable jumping point to get cleanup in case of an error. But I would just
>> use a goto cleanup label. That's clearer and allows you to handle
>> initialization in one place.
>>
>> Proposal for initialization:
>>
>>
>> if (jparentArray != null) {
>> - check size is same as primary array, if wrong throw + goto cleanup
>> - ppids = GLAE
>> } else {
>> - if input pid is 0, throw an error too, since for "get all processes mode"
>> we need the parent array. Throw + goto cleanup.
>> }
>> // same for times array
>
> hmm? As I already mentioned I do not want to change the structure of the
> function with this pr. This can be done by someone else for macos, linux and
> aix in parallel.
If someone reworks the code, you would have to counter-check the code anyway
since nobody else has AIX machines around to build and test. So I'd just do it
to save some cycles. But I leave it up to you.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16051#discussion_r1356614666