[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-2d-dev
Subject:    Re: [OpenJDK 2D-Dev] RFR: 8197825: [Test] Intermittent timeout with javax/swing JColorChooser Test [
From:       Alexey Ivanov <aivanov () openjdk ! java ! net>
Date:       2021-01-30 12:03:47
Message-ID: fKh6RlNhnhCu4AJ89wXRzQiN2nJ_TRDiqQXmYJPwTII=.43000072-5ac6-4ad2-81c2-cd3e09f5526a () github ! com
[Download RAW message or body]

On Sat, 30 Jan 2021 05:10:07 GMT, Prasanta Sadhukhan <psadhukhan@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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic