<Swing Dev> RFR: 8197825: [Test] Intermittent timeout with javax/swing JColorChooser Test [v4]
Alexey Ivanov
aivanov at openjdk.java.net
Sat Jan 30 12:03:47 UTC 2021
On Sat, 30 Jan 2021 05:10:07 GMT, Prasanta Sadhukhan <psadhukhan at openjdk.org> wrote:
>>> Does this volatile modifier resolve the now-removed infinite loop in `while (!tk.IsDisposed())` in `WToolkit_shutdown`?
>>
>> The loop should not be removed.
>
> Unfortunately, volatile modifier has no effect if infinite loop is reinstated..
> > Does this volatile modifier resolve the now-removed infinite loop in `while (!tk.IsDisposed())` in `WToolkit_shutdown`?
>
> The loop should not be removed.
No, it should not, as you noted previously.
However, making `m_breakMessageLoop` volatile does not look right either. If `QuitMessageLoop` is called from `!IsMainThread()` thread, it is posted as a message to run on the correct thread. Thus `m_breakMessageLoop` should be accessed on a single thread only; if it's the case, volatile is unneeded.
And @prsadhuk's latest test confirms it. There must be something else…
-------------
PR: https://git.openjdk.java.net/jdk/pull/2220
More information about the swing-dev
mailing list