Hi Yaroslav,

"Yaroslav Bulatov" <[EMAIL PROTECTED]> wrote on 11/08/2006 08:44:04 PM:

> Another place that waits on the list is the RunnableQueue.invokeLater() 
method.

   No invokeLater does not wait on the list.  It synchronizes on it, you
don't have to notify a thread that is blocked on a synchronize, it will
drop through when the resource becomes available.

> So wouldn't it deadlock if I do
> canvas.getUpdateManager().getUpdateRunnableQueue().invokeLater() while
> the runnableQueueThread is running?

    No, I don't think so.  There is a problem if you use
invokeAndWait from the Swing thread but AFAIK invokeLater doesn't
have (and hasn't had) deadlock issues.

> I'm using the latest version from SVN (revision 471768)



> 
> 
> On 11/8/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > Hi Yaroslav
> >
> > "Yaroslav Bulatov" <[EMAIL PROTECTED]> wrote on 11/07/2006 08:30:28 
PM:
> >
> > > I used canvas.getUpdateManager().getUpdateRunnableQueue().
> > >     invokeLater(new Runnable())  to update DOM tree, but was running
> > > into deadlock sometimes. I noticed that "synchronized" block in
> > > RunnableQueue.run doesn't have "notify" at the end. If I add
> > > list.notify() there, I no longer get deadlocks.
> >
> >     I don't think this fixed your problem.  The only code that
> > wait's on the list is the RunnableQueue.run method, which obviously
> > can't be waiting when you call notify, so while I don't think your
> > change is dangerous I don't think it fixes anything.
> >
> >     You don't say what version of Batik you are using, we have
> > fixed some small deadlock issues since 1.6 was released.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: 
[EMAIL PROTECTED]
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to