<AWT Dev> [7u10] Review request for 7188708 - REGRESSION: closed/java/awt/EventQueue/PostEventOrderingTest.java fails

Oleg Pekhovskiy oleg.pekhovskiy at oracle.com
Thu Sep 6 18:57:29 PDT 2012


Hi!

Please review the fix for CR:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7188708

Webrev:
http://cr.openjdk.java.net/~bagiras/7u10/7188708.1/

The reason is that isFlushingPendingEvents in 
SunToolkit.flushPendingEvents() is reset
after the first recursive call of flushPendingEvents(). Thus, if there 
are several pending events in PostEventQueue,
recursion would be rejected only for the first event, allowing nested 
call of PostEventQueue.flush() after.

To resolve the problem I added the counter "flushNestingLevel" instead 
of the flag "isFlushingPendingEvents".
It's increased each time entering SunToolkit.flushPendingEvents() and 
decreased on exit.
So, PostEventQueue.flush() method is called only when we enter 
SunToolkit.flushPendingEvents() for the first time
within one thread.

That fix was prepared ONLY for 7u10.
For JDK 8 the fix for "CR7186109 - Simplify lock machinery for 
PostEventQueue & EventQueue" should cover this case.

Thanks,
Oleg



More information about the awt-dev mailing list