All I know is as long as you access a variable from multiple threads, you must use synchronization (locks or volatile). I've never heard that simply blocking a thread is equivalent to using synchronization primitives. Are there any documents that specify that?

--
best regards,
Anthony

On 11/22/2013 07:55 PM, Sergey Bylokhov wrote:
On 22.11.2013 18:51, Anthony Petrov wrote:
Hi Oleg,

The frLoc and frSize (and maybe other variables) should be declared
volatile. Generally, if you access a variable from different thread,
you have to synchronize the access using either the volatile modifier
(the easiest way, esp. for tests), or a lock.
I always thought that in such cases two threads already synchronized,
because invokeAndWait is used, which block one thread and wait another.

--
best regards,
Anthony

On 11/22/2013 06:35 PM, Sergey Bylokhov wrote:
Thanks!
The fix looks good.

On 22.11.2013 18:19, Oleg Pekhovskiy wrote:
Hi Sergey,

thanks you for the review,
please take a look at the next version of fix:
http://cr.openjdk.java.net/~bagiras/8028995.2/

Changes:
1. OSInfo used.
2. Location and Dimensions of Frame are retrieved on EDT.

Thanks,
Oleg

On 22.11.2013 17:16, Sergey Bylokhov wrote:
Hi, Oleg.
Usually we check the type of OS via sun.awt.OSInfo
Note that all these things should be on EDT as well:

   // Retrieving the color of window expanded area
   86                 p = frame.getLocationOnScreen();
   87                 d = frame.getSize();
   88                 Insets insets = frame.getInsets();

   91
   92                 frame.dispose();


On 22.11.2013 16:37, Oleg Pekhovskiy wrote:
Hi all,

please review the fix
http://cr.openjdk.java.net/~bagiras/8028995.1/
for
https://bugs.openjdk.java.net/browse/JDK-8028995

It's just a regression test for JDK-8016356.

Thanks,
Oleg






Reply via email to