On Wed, 11 Jan 2023 11:33:43 GMT, Prasanta Sadhukhan <[email protected]> 
wrote:

>> SwingWorker done() method [spec 
>> ](https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/classes/javax/swing/SwingWorker.java#L452)
>>  says "Executed on the Event Dispatch Thread after the doInBackground method 
>> is finished"
>> but there's no mechanism in place to honor that claim.
>> The 
>> [spec](https://github.com/openjdk/jdk/blob/master/src/java.desktop/share/classes/javax/swing/SwingWorker.java#L289)
>> also says the state should be DONE after doInBackground() returns which is 
>> also not done.
>> 
>> Modified the code to honour the specification.
>
> Prasanta Sadhukhan has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Fix

src/java.desktop/share/classes/javax/swing/SwingWorker.java line 757:

> 755:                 do {
> 756:                     try {
> 757:                         Thread.sleep(100);

I did not look closely at the discussion in JBS about this change, but this 
"sleep(100)" looks broken. I do not think we can block EDT like this.

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

PR: https://git.openjdk.org/jdk/pull/11940

Reply via email to