On Sat, 30 Jan 2021 12:00:43 GMT, Alexey Ivanov <aiva...@openjdk.org> wrote:

>> 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…

I ran the test locally for several iterations but it does not fail locally so I 
believe it's a test issue. Re reverting the test changes made in 1st webrev...

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

PR: https://git.openjdk.java.net/jdk/pull/2220

Reply via email to