On Fri, 1 Dec 2023 11:07:06 GMT, Stefan Karlsson <stef...@openjdk.org> wrote:

>> Can I please get a review for this change to the test library's 
>> `OutputAnalyzer` class, which proposes to remove some unnecessary logging 
>> from the `getExitValue()` call?
>> 
>> As noted in https://bugs.openjdk.org/browse/JDK-8321163, right now this 
>> method logs:
>> 
>> 
>> [2023-11-24T11:47:54.557561Z] Waiting for completion for process 24909
>> [2023-11-24T11:47:54.557873Z] Waiting for completion finished for process 
>> 24909
>> 
>> 
>> even when the process has already completed and the exit value already 
>> known. The change in this PR makes it such that if the exit value is 
>> available then we no longer log this (nor call `process.waitFor()`).
>> 
>> No new tests have been added given the nature of this change. tier1, tier2 
>> and tier3 tests continue to pass with this change.
>
> test/lib/jdk/test/lib/process/OutputBuffer.java line 150:
> 
>> 148:     @Override
>> 149:     public int getExitValue() {
>> 150:       Integer exitCode = this.processExitCode;
> 
> Do we really need the local `exitCode` variable? Even if another multiple 
> threads write to processExitCode, I expect them to all write a non-null 
> Integer.

Hello Stefan, this is just for a tiny optimization to prevent multiple reads 
(in the same thread) on the `volatile` field `processExitCode` in this method.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16919#discussion_r1411952233

Reply via email to