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

List:       openjdk-openjfx-dev
Subject:    Re: <AWT Dev> [10] RFR JDK-8088132:[Swing, singleThread] ClassCastException in nested event loop whe
From:       Sergey Bylokhov <sergey.bylokhov () oracle ! com>
Date:       2017-08-30 6:11:56
Message-ID: bc568398-c4e4-41de-be9a-b2f3c57832fb () default
[Download RAW message or body]

Hi, Prasanta.
Can you please provide some description on how the SecondaryLoop will work when it \
will run on Appkit thread? Is it possible to get a deadlock here, since appkit will \
be blocked?

> sequence, ie if the event is not first in sequence, then it will made
> to 
> wait till it is the first event or till it is disposed.

Note that the new code (unlike lines 139-150) also waits 1 second, so we can get a \
situation when only one event will be dispatched per second, which is not we want to \
do.  I am not sure how often we create SequencedEvent but creating one thread per \
dispatch look inefficient.


> 
> Modified webrev
> http://cr.openjdk.java.net/~psadhukhan/fx/8088132/webrev.02/
> 
> Regards
> Prasanta
> On 8/23/2017 9:31 PM, Sergey Bylokhov wrote:
> > Hi, Prasanta.
> > 
> > On 16.08.2017 3:33, Prasanta Sadhukhan wrote:
> > > Now, since here FX App thread itself is the dispatch thread, we can
> 
> > > be sure the events are dispatched in sequence and dispose is
> checked 
> > > below after EDT.
> > 
> > Why we can sure about this? If the SequencedEvents were created in
> one 
> > order but dispatch() for each were called in other order then the 
> > sequenced will not be preserved?
> > 
> > > 
> > > I have tested with couple of singleThread testcase without any
> issue.
> > > 
> > > Regards
> > > Prasanta
> > > On 8/14/2017 10:07 PM, Sergey Bylokhov wrote:
> > > > Hi, Prasanta, Kevin.
> > > > 
> > > > I have two notes.
> > > > - Does this option is really supported? If it is supported we 
> > > > should evaluate all usage of EventDispatchThread because in this 
> > > > mode the dispatch thread is not EDT. For example I am not sure
> that 
> > > > we can skip the code which expects EventDispatchThread.
> > > > - We have the similar pattern: "EventQueue.isDispatchThread() ->
> 
> > > > cast(EventDispatchThread)" in some other places like in 
> > > > DefaultKeyboardFocusManager.
> > > > 
> > > > -----prasanta.sadhukhan@oracle.com   wrote:
> > > > 
> > > > > Hi All,
> > > > > 
> > > > > Please review this fix
> > > > > http://cr.openjdk.java.net/~psadhukhan/fx/8088132/webrev.00/
> > > > > for an fx issue
> > > > > https://bugs.openjdk.java.net/browse/JDK-8088132
> > > > > 
> > > > > More info in JBS.
> > > > > 
> > > > > Regards
> > > > > Prasanta
> > > 
> > 
> > 


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

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