On Wed, 3 Jun 2026 07:24:11 GMT, Arno Zeller <[email protected]> wrote:

>> The doInBackground working loop is left because of the loop condition 
>> (!Thread.currentThread().isInterrupted()) - this will not clear the 
>> interrupted status of the thread and the Thread.sleep at line 63 will throw 
>> an InterruptedException directly.
>> I suggest to change two things:
>> No longer check the !Thread.currentThread().isInterrupted() but rely only on 
>> the Thread.sleep to throw an InterrutedException.
>> And using a countdown latch instead of a sleep to ensure that we really 
>> entered the loop before we do cancel the worker.
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Arno Zeller has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Update copyright

test/jdk/javax/swing/SwingWorker/TestDoneBeforeDoInBackground.java line 126:

> 124:             });
> 125:         worker.execute();
> 126:         workerStarted.await();

I suppose it would be safer to call the `await` with a timeout.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/31348#discussion_r3363433951

Reply via email to